php怎麼操作數組(php數組是怎麼實現的)

本文目錄一覽:

php里說出數組的常用函數及用法?

PHP常用操作數組的函數

變量和數組的轉換

compact() 將變量整合成數組

extract() 將數組中的每個值以鍵的名分解成變量

變量和字符串轉換

explode() 以某個子串分解字符串成數組

implode() 將一維數組根據某個符號拼接成字符串

數組與數組之間關係

array_merge() 合併/並集

array_diff() 差集

array_intersect() 交集

數組值的操作

array_pop() 刪除(彈出)數組最後一個值

array_push() 向數組中追加一個值

判斷數組是否存在數組中

in_array() 判斷一個值是否存在數組中

array_key_exists() 判斷鍵是否存在數組中

數組去重

array_unique() 數組去重

獲取二維數組中的值的集合

array_column() 獲取二維數組中的值的集合

提取數組的鍵與值

array_values 提取數組的值構成一維數組

array_keys 提取數組的鍵構成一維數組

返回數組中的隨機的鍵

array_rand() 返回數組中的隨機的鍵

返回數組中值的數量

count() 返回數組中值的和

查詢數組中的值

array_search() 查詢數組中的值是否存在/in_array()有點相似

排序

sort() 排序有很多種,按鍵或值升降序

array_multisort() 多維數組排序

分割數組

array_chunk()

PHP面試題2–常用的數組函數

一,數組操作的基本函數

1. 數組的鍵名與值

    array_values($arr);  獲得數組的值

    array_keys($arr); 獲得數組的鍵名

    array_flip($arr); 數組的值與鍵名互換(如果有重複前面的會被後面的覆蓋)

    in_array(“apple”,$arr); 在數組中檢索apple

    array_search(“apple”,$arr); 在數組中檢索apple,如果存在返回鍵名

    array_key_exists(“apple”,$arr); 檢索給定的鍵名是否存在數組中

    isset($arr[“apple”]); 檢索給定的鍵名是否存在數組中

    array_unique() 刪除數組中的重複值

2. 數組的內部指針

    current($arr); 返回數組中的當前單元

    pos($arr); 返回數組中的當前單元

    key($arr); 返回數組中的當前單元的鍵名

    prev($arr); 將數組中的內部指針倒回一位

    next($arr); 將數組中的內部指針向前移動一位

    end($arr);  將數組中的內部指針指向最後一單元

    reset($arr); 將數組中的內部指針指向第一單元

    each($arr); 將返回數組當前元素的一個鍵/值的構造數組,並使數組指針向前移動一位

    list($key,$value) = each($arr); 獲得數組當前元素的鍵名和值

3. 數組和變量之間的轉換

    extract(array,extract_rules,prefix); 函數從數組中將變量導入到當前符號表。該函數使用數組鍵名作為變量名,使用數組鍵值作為變量值。針對數組中的每個元素,將在當前符號表中創建對應的一個變量。

    compact(var1,var2…); 創建一個包含變量名和它們的值的數組。任何沒有變量名與之對應的字符串都被略過。

二,數組的分段和填充

1. 數組的分段

    array_slice(array,start,length,preserve); 返回數組中的選定部分。如果數組中有字符串鍵名,返回的數組將保留鍵名。

    array_splice(array1,start,length,array2); 從數組中移除選定的元素,並用新元素取代它。函數返回被移除元素的數組,如果函數沒有移除任何元素(length=0),則替代數組將從start參數的位置插入。不保留替代數組的鍵名。

2. 數組的分割

    array_chunk(array,size,preserve_keys); 把一個數組分割為新的數組塊。

3. 數組的填充

    array_pad(array,size,value); 將指定數量的帶有指定值的元素插入到數組。如果將size參數設置為負數,該函數會在原始數組之前插入新的元素。如果size參數小於原始數組的長度,該函數不會刪除任何元素。

三,數組與棧

    array_push(array,value1,value2…); 向數組尾部插入一個或多個元素。即使數組有字符串鍵名,添加的元素將是數字鍵名。

    array_pop(array); 刪除數組的最後一個元素。返回值是數組的最後一個值,即,被刪除的元素值。如果數組為空,或者不是一個數組,將返回NULL。

四,數組和隊列

    array_shift(array); 用於刪除數組中的第一個元素,並返回被刪除的元素。如果鍵名是數字,所有的元素都將獲得新的鍵名,從0開始,並以1遞增。

    array_unshift(array,value1,value2,value3…); 用於向數組插入新元素,新數組的值將被插入到數組的開頭。數值鍵名將從0開始,以1遞增。字符串鍵名將保持不變。

五,回調函數

    array_walk(array,myfunction,parameter…); 將數組中的每個元素應用到 用戶自定義函數。在函數中,數組的鍵名和鍵值是參數。可以通過把用戶自定義函數的第一個參數指定為引用:$value,來改變數組元素的值。

    array_map(myfunction,array1,array2,array3…); 函數將用戶自定義函數作用到數組中的每個值上,並返回用戶自定義函數作用後的帶有新的值的數組。myfunction可以為null

    array array_filter ( array $array [, callable $callback [, int $flag = 0 ]] ); 用回調函數過濾數組中的元素。該函數把輸入數組中的每個鍵值傳給回調函數。如果回調函數返回true,則把輸入數組中的當前鍵值返回給結果數組,數組鍵名保持不變。

    array_reduce(array,myfunction,initial); 函數發送數組中的值到用戶自定義函數,並返回一個字符串。如果數組是空的或者初始值未傳遞,該函數返回null。initial為可選,規定發送到函數處理的第一個值。

六,數組的計算

1. 數組元素的求和

    array_sum(array); 返回數組中的所有值的和

2. 數組的合併

    array_merge(array1,array2,array3…); 用於把一個或多個數組合併成一個數組。如果兩個或更多個數組有相同的鍵名。則最後的數組會覆蓋其他數組。如果向函數輸入了一個數組,且鍵名是整數,則該函數會返回帶有整數鍵名的新數組,其鍵名以0開始進行重新索引。

    array_merge_recursive(array1,array2,array3…); 用於把一個或多個數組合併為一個數組,該函數與array_merge()函數之間的不同是在處理兩個或多個數組元素有相同的鍵名的情況下,array_merge_recursive()不會進行鍵名覆蓋,而是將多個相同鍵名的值遞歸組成一個數組。如果您僅僅向 array_merge_recursive() 函數輸入一個數組,結果與 array_merge() 相同。

3. 數組的差集

    array_diff(array1,array2,array3…); 函數用於比較兩個(或更多個)數組的值,並返回差集。該函數比較兩個(或更多個)數組的值(key=value中的value),並返回一個差集數組,該數組包括了所有在被比較的數組(array1)中,但是不在任何其他參數數組(array2或array3等等)中的值。

    array_diff_assoc(array1,array2,array3…); 函數用於比較兩個(或更多個)數組的鍵名和鍵值,並返回差集。該函數比較兩個(或更多個)數組的鍵名和鍵值,並返回一個差集數組,該數組包括了所有在被比較的數組(array1)中,但是不在任何其他參數數組(array2 或 array3 等等)中的鍵名和鍵值。

4. 數組的並集

array_intersect(array1,array2,array3…); 函數用於比較兩個(或更多個)數組的鍵值,並返回交集。該函數比較兩個(或更多個)數組的鍵值,返回一個交集數組,該數組包括了所有在被比較的數組(array1)中,同時也在任何其他參數數組(array2 或 array3 等等)中的鍵值。

array_intersect_assoc(array1,array2,array3…); 函數用於比較兩個(或更多個)數組的鍵名和鍵值,並返回交集。該函數比較兩個(或更多個)數組的鍵名和鍵值,並返回一個交集數組,該數組包括了所有在被比較的數組(array1)中,同時也在任何其他參數數組(array2 或 array3 等等)中的鍵名和鍵值。

七,數值的排序

array_multisort():  對多個數組或多維數組進行排序

sort(): 以升序對數組排序

rsort(): 以降序對數組排序

asort(): 根據值,以升序對關聯數組進行排序

ksort(): 根據鍵,以升序對關聯數組進行排序

arsort(): 根據值,以降序對關聯數組進行排序

krsort(): 根據鍵,以降序對關聯數組進行排序

資料參考:

php數組操作

$array = array(Array(‘kc_id’ = 6,’signed’ = Array(Array(‘id’ = 108,’time’ = 1469232300),Array(‘id’ = 109,’time’ = ”), Array(‘id’ = 110,’time’ = ”),Array(‘id’ = 111,’time’ = ”))),Array(‘kc_id’ = 6,’signed’ = Array(Array(‘id’ = 108,’time’ = 1469232300),Array(‘id’ = 109,’time’ = ”), Array(‘id’ = 110,’time’ = ”),Array(‘id’ = 111,’time’ = ”))));

function get_array_by_key($array , $key1 ,$key2)

{

$result = array();

foreach ( $array as $k = $value) {

$result[$value[$key1]] = $value[$key2] ? $value[$key2] : ‘x’;

}

return $result;

}

$data = array();

foreach($array as $key = $value){

$data[$key] = get_array_by_key($value[‘signed’],’id’,’time’);

$data[$key][‘kc_id’] = $value[‘kc_id’];

}

print_r($data);

php裡面怎麼新建數組?

php裡面新建數據可以通過兩種方式,一種是通過array函數來創建,另一種就是通過賦值[]來創建。

?php

$arr1 = array(1,2,3,4);

var_dump($arr1);

$arr2[0] = 1;

$arr2[1] = 2;

$arr2[2] = 3;

$arr2[3] = 4;

var_dump($arr2);

原創文章,作者:簡單一點,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/129545.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
簡單一點的頭像簡單一點
上一篇 2024-10-03 23:26
下一篇 2024-10-03 23:26

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • Python棧操作用法介紹

    如果你是一位Python開發工程師,那麼你必須掌握Python中的棧操作。在Python中,棧是一個容器,提供後進先出(LIFO)的原則。這篇文章將通過多個方面詳細地闡述Pytho…

    編程 2025-04-29
  • Python導入數組

    本文將為您詳細闡述Python導入數組的方法、優勢、適用場景等方面,並附上代碼示例。 一、numpy庫的使用 numpy是Python中一個強大的數學庫,其中提供了非常豐富的數學函…

    編程 2025-04-29
  • Python返回數組:一次性搞定多種數據類型

    Python是一種多用途的高級編程語言,具有高效性和易讀性的特點,因此被廣泛應用於數據科學、機器學習、Web開發、遊戲開發等各個領域。其中,Python返回數組也是一項非常強大的功…

    編程 2025-04-29
  • Python去掉數組的中括號

    在Python中,被中括號包裹的數據結構是列表,列表是Python中非常常見的數據類型之一。但是,有些時候我們需要將列表展開成一維的數組,並且去掉中括號。本文將為大家詳細介紹如何用…

    編程 2025-04-29
  • Python操作數組

    本文將從多個方面詳細介紹如何使用Python操作5個數組成的列表。 一、數組的定義 數組是一種用於存儲相同類型數據的數據結構。Python中的數組是通過列表來實現的,列表中可以存放…

    編程 2025-04-29
  • Python操作MySQL

    本文將從以下幾個方面對Python操作MySQL進行詳細闡述: 一、連接MySQL數據庫 在使用Python操作MySQL之前,我們需要先連接MySQL數據庫。在Python中,我…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • Python代碼實現迴文數最少操作次數

    本文將介紹如何使用Python解決一道經典的迴文數問題:給定一個數n,按照一定規則對它進行若干次操作,使得n成為迴文數,求最少的操作次數。 一、問題分析 首先,我們需要了解迴文數的…

    編程 2025-04-29
  • Python磁盤操作全方位解析

    本篇文章將從多個方面對Python磁盤操作進行詳細闡述,包括文件讀寫、文件夾創建、刪除、文件搜索與遍歷、文件重命名、移動、複製、文件權限修改等常用操作。 一、文件讀寫操作 文件讀寫…

    編程 2025-04-29

發表回復

登錄後才能評論