PHP中的數組功能非常強大,數組處理函數有著強大、靈活、高效的特點。PHP5提供了近100個操作數組的系統函數,包括排序函數、替換函數、數組計算函數等。下面將詳細介紹數組函數
[注意]關于javascript數組的22種方法移步至此
數組的每個元素都是由鍵值對組成,通過元素的鍵名來訪問對應的鍵值。關于鍵值操作有array_html' target='_blank'>values()、array_keys()、in_array()、array_flip()和array_reverse()這5個常用函數
array_values
array_values() 返回 input 數組中所有的值并給其建立數字索引
array array_values ( array $input )
<?php$array = array('size' => 'XL', 'color' => 'gold');//Array ( [0] => XL [1] => gold )print_r(array_values($array));?>
array_keys
array_keys() 返回 input 數組中的數字或者字符串的鍵名
array array_keys ( array $array [, mixed $search_value [, bool $strict = false ]] )
如果指定了可選參數 search_value,則只返回該值的鍵名。否則 input 數組中的所有鍵名都會被返回
如果指定了可選參數 strict,表示判斷在搜索的時候是否該使用嚴格的比較(===)
<?php$array = array(0 => 100, 'color' => 'red');//Array ( [0] => 0 [1] => color ) print_r(array_keys($array));$array = array('blue', 'red', 'green', 'blue', 'blue');// Array ( [0] => 0 [1] => 3 [2] => 4 ) print_r(array_keys($array, 'blue'));$array = array('color' => array('blue', 'red', 'green'), 'size' => array('small', 'medium', 'large'));Array ( [0] => color [1] => size )print_r(array_keys($array));?>
in_array
in_array — 檢查數組中是否存在某個值
bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )
如果第三個參數 strict 的值為 TRUE 則 in_array() 函數還會檢查 needle 的類型是否和 haystack 中的相同
<?php$os = array('Mac', 'NT', 'Irix', 'Linux');if (in_array('Irix', $os)) { //Got Irix echo 'Got Irix';}if (in_array('mac', $os)) { echo 'Got mac';}?>
array_flip
array_flip — 交換數組中的鍵和值,成功時返回交換后的數組,如果失敗返回 NULL
array array_flip ( array $trans )
array_flip() 返回一個反轉后的 array,例如 trans 中的鍵名變成了值,而 trans 中的值成了鍵名
如果同一個值出現了多次,則最后一個鍵名將作為它的值,所有其它的都丟失了
[注意]trans中的值需要能夠作為合法的鍵名,例如需要是 integer 或者 string。如果值的類型不對將發出一個警告,并且有問題的鍵/值對將不會反轉
<?php$trans = array('a' => 1, 'b' => 1, 'c' => 2);$trans = array_flip($trans);//Array ( [1] => b [2] => c )print_r($trans);?>
array_reverse
array_reverse — 返回一個單元順序相反的數組
array array_reverse ( array $array [, bool $preserve_keys = false ] )
如果參數preserve_keys設置為 TRUE 會保留數字的鍵。非數字的鍵則不受這個設置的影響,總是會被保留
<?php$input = array('php', 4.0, array('green', 'red'));$result = array_reverse($input);/*array (size=3) 0 => array (size=2) 0 => string 'green' (length=5) 1 => string 'red' (length=3) 1 => float 4 2 => string 'php' (length=3) */var_dump($result);$result_keyed = array_reverse($input, true);/*array (size=3) 2 => array (size=2) 0 => string 'green' (length=5) 1 => string 'red' (length=3) 1 => float 4 0 => string 'php' (length=3) */var_dump($result_keyed);?>
count
count — 計算數組中的單元數目或對象中的屬性個數
int count ( mixed $var [, int $mode = COUNT_NORMAL ] )
如果可選的 mode 參數設為 COUNT_RECURSIVE(或 1),count() 將遞歸地對數組計數。對計算多維數組的所有單元尤其有用。mode 的默認值是 0。count() 識別不了無限遞歸
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答