PHP中對陣列的一些常用的增 刪 插操作函式總結

2022-10-06 09:57:09 字數 3896 閱讀 1358

有時候我們需要擴充套件乙個陣列,或者刪掉陣列的一部分,php為擴充套件和縮小陣列提供了一些函式。對於那些希望模仿各種佇列實現(fifo、lifo)的程式設計師來說,這些函式可以提供便利。顧名思義,從這些函式的函式名(push、pop、shift和unshift)就清楚地反映出其作用。

ps:傳統的佇列是一種資料結構,刪除元素與加入元素的順序相同,就稱為先進先出,或fifo。相反,棧是另外一種資料結構,其中刪除元素的順序與加入時的順序相反,這成為後進先出,或lifo。

在陣列頭新增元素

array_unshift()函式在陣列頭新增元素。所有己有的數值鍵都會相應地修改,以反映其在陣列中的新位置,但是關聯鍵不受影響。其形式如下:

int array_unshift(array array,mixed variable[,mixed variable])

下面這個例子在$fruits陣列前面新增了兩種水果:

$fruits = array("apple","banana");

array_unshift($fruits,"orange","pear")

// $fruits = array("orange","pear","apple","banana");

在陣列尾新增元素

array_push()函式的返回值是int型,是壓入資料後陣列中元素的個數,可www.cppcns.com以為此函式傳遞多個變數作為引數,同時向陣列壓入多個變數。其形式為:

(array 程式設計客棧array,mixed variable [,mixed variable...])

下面這個例子在$fruits陣列中又新增了兩個水果:

$fruits = array("apple","banana");

array_push($fruits,"orange","pear")

//$fruits = array("apple","banana","orange","pear")

從陣列頭刪除值

array_shift()函式刪除並返回陣列中找到的元素。其結果是,如果使用的是數值健,則所有相應的值都會下移,而使用關聯鍵的陣列不受影響。其形式為:

mixed array_shift(array array)

下面的例子刪除了$fruits陣列中的第乙個元素apple:

$fruits = array("apple","banana","orange","pear");

$fruit = array_shift($fruits);

// $fruits = array("banana","orange","pear")

// $fruit = "apple";

從陣列尾刪除元素

array_pop()函式刪除並返回陣列的最後乙個元素。其形式為:

mixed array_pop(aray target_array);

下面的例子從$states陣列刪除了最後的乙個州:

$fruits = array("apple","banana","orange","pear");

$fruit = array_pop($fruits);

//$fruits = array("apple","banana","orange");

//$fruit = "pear";

查詢、篩選與搜尋陣列元素是陣列操作的一些常見功能。下面來介紹一下幾個相關的函式。

in_array()函式

in_array()函式在乙個陣列彙總搜尋乙個特定值,如果找到這個值返回true,否則返回false。其形式如下:

boolean in_array(mixed needle,array haystack[,boolean strict]);

來看下面的例子,查詢變數apple是否已經在陣列中,如果在,則輸出一段資訊:

$fruit = "apple";

$fruits = array("apple","banana","orange","pear");

if( in_array($fruit,$fruits) )

echo "$fruit 已經在陣列中";

第三個引數可選,它強制in_array()在搜尋時考慮型別。

array_key_exists()函式

如果在乙個陣列中找到乙個指定的鍵,函式array_key_exists()返回true,否則返回false。其形式如下:

boolean array_key_exists(mixed key,array array);

下面的例子將在陣列鍵中搜尋apple,如果找到,將輸出這個水果的顏色:

$fruit["apple"] = "red";

$fruit["banana"] = "yellow";

$fruit["pear"] = "green";

if(array_key_exists("apple", $fruit))

執行這段**得到的結果:

apple's color is red

array_search()函式

array_search()函式在乙個陣列中搜尋乙個指定的值,如果找到則返回相應的鍵,否則返回false。其形式如下:

mixed array_search(mixwww.cppcns.comed needle,array haystack[,boolean strict])

下面的例子在$fruits中搜尋乙個特定的日期(december 7),如果找到,則返回相應州的有關資訊:

$fruits["apple"] = "red";

$fruits["banana"] = "yellow";

$fruits["watermelon"]="green";

$founded = array_search("green", $fruits);

if($founded)

printf("%s was founded on %s.",$founded, $fruits[$founded])

程式執行結果如下:

watermelon was founded on green.

array_keys()函式

array_keys()函式返回乙個陣列,其中包含所搜尋陣列中找到的所有鍵。其形式如下:

array array_keys(array array[,mixed search_value])

如果包含可選引數search_value,則只會返回與該值匹配的鍵。下面的例子將輸出$fruit陣列中找到的所有陣列:

$fruits["apple"] = "red";

$fruits["banana"] = "yellow";

$fruits["watermelon"]="green";

$keys = array_keys($fruits);

print_r($keys);

程式執行結果如下:

array ( [0] => apple [1] => banana [2] =&kmihgrxbgt; watermelon )

array_values()函式

array_values()函式返回乙個陣列中的所有值,並自動為返回的陣列提供數值索引。其形式如下:

array array_values(array array)

下面的例子將獲取$fruits中找到的各元素的值:

$fruits["apple"] = "red";

$fruits["banana"] = "yellow";

$fruits["watermelon"]="green";

$values = array_values($fruits);

print_r($values);

程式執行結果如下:

array ( [0] => red [1] => yellow [2] => green )

本文標題: php中對陣列的一些常用的增、刪、插操作函式總結

本文位址: /wangluo/php/135733.html

PHP常用的一些陣列操作總結

1 array values 返回包含陣列中所有鍵值的陣列,不保留鍵名。2 array diff 函式返回兩個陣列的差集陣列。該陣列包括了所有在被比較的陣列中,但是不在任何其他引數陣列中的鍵值。3 array unique 去重,保留鍵名,重複值只保留第乙個 4 array merge 把兩個或多個...

對陣列首位址的一些理解

首先來看這樣的一些 得到的的結果是很奇怪,cout a 我一直的理解是a其實是個變數,他的值是指向陣列int a 4 的指標,現在我發現這樣的理解是錯誤的,趕緊google了一下,才發現原來a其實是很多層含義的 首先a不應該看成是變數,確切的他應該是乙個指標常量,其次a與 a是兩個不同的含義,看以下...

OpenCV 對陣列(矩陣)的一些操作

opencv operations on arrays 對陣列 矩陣 的一些操作 function 函式名 use 函式用處 add 矩陣加法,a b的更高階形式,支援mask scaleadd 矩陣加法,乙個帶有縮放因子dst i scale src1 i src2 i addweighted 矩...