聲明:
$array = array("id" => 1, "name" => "duanyong");
得到所有鍵:
$key = array_keys($array);
得到所有值:
$values = array_values($array);
遍曆值和值:
a. foreach ($array as $key => $value) {
echo $key . "\t" . $value;
}
b. while (list($key, $value) = each($array)) {
echo $key . "\t" . $value;
}
檢索資料
in_array()與array_search(),指定第三個參數為true,那麼會執行嚴格檢查(如數組中有字串的1,而尋找卻用數字1,在沒有指定第三個參數會返回true,否則false)。
in_array("duanyong", array("aaaa", "bbbb", "duanyong")); //檢查字串duanyong是否存在於數組中
array_search("duanyong", array("id" => "1", "sex" => 1, "name" => "duanyong"), true); //尋找到值後返回鍵,否則返回false
檢查索引是否存在
$array = array("name" => null);
isset($array["name"]); //return false
array_key_exists("name", $array); //return true
數組指標操作
要特別注意地是指標如果已經移到資料下標外,需要用reset將數組指標複位(置於第一個元素)才可以繼續操作,否則會出現意外。
current($array); //返回當前元素
next($array); //返回下一個元素,沒有返回false
prev($array); //返回上一個元素,沒有返回false
end($array); //返回最後一個元素
reset($array); //將指標置於第一個元素上
數組排序
排序的類型:
• SORT_REGULAR - 正常比較單元(不改變類型)
• SORT_NUMERIC - 單元被作為數字來比較
• SORT_STRING - 單元被作為字串來比較
• SORT_LOCALE_STRING - 根據當前的地區(locale)設定來把單元當作字串比較。PHP 4.4.0 和 5.0.2 新加。在 PHP 6 之前,使用了系統的地區設定,可以用 setlocale() 來改變。自 PHP 6 起,必須用 i18n_loc_set_default() 函數。
對資料按值排序,保持索引值關係
asort,arsort
對資料按鍵排序,保持索引值關係
ksort,krsort
對資料排序同時拋棄鍵,產生新的資料索引
sort,resort
按使用者規則排序,usort會刪除原有索引,uksort和uasort會保持原有索引
usort,uksort,uasort
數組過濾
array_filter() 如果不指定過濾函數會返回元素布爾值為true的元素