array_replace_recursive
$base = array('citrus' => array( "orange") , 'berries' => array("blackberry", "raspberry"), ); $replacements = array('citrus' => array('pineapple'), 'berries' => array('blueberry')); $basket = array_replace_recursive($base, $replacements);
帶索引檢查計算陣列的交集,用回撥函數比較索引 array_intersect_uassoc
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red"); $array2 = array("a" => "GREEN", "B" => "brown", "yellow", "red"); print_r(array_intersect_uassoc($array1, $array2, "strcasecmp"));
遞回地合併一個或多個陣列 array_merge_recursive
$ar1 = array("color" => array("favorite" => "red"), 5); $ar2 = array(10, "color" => array("favorite" => "green", "blue")); $result = array_merge_recursive($ar1, $ar2);
使用傳遞的陣列遞回替換第一個陣列的元素 array_replace_recursive
$base = array('citrus' => array( "orange") , 'berries' => array("blackberry", "raspberry"), ); $replacements = array('citrus' => array('pineapple'), 'berries' => array('blueberry')); $basket = array_replace_recursive($base, $replacements); print_r($basket);
將一個線性陣列轉換為一個樹,或者多維陣列
function array_stack (&$a, $p = '@parent', $c = '@children') { $l = $t = array(); foreach ($a AS $key => $val): if (!$val[$p]) $t[$key] =& $l[$key]; else $l[$val[$p]][$c][$key] =& $l[$key]; $l[$key] = (array)$l[$key] + $val; endforeach; return $a = array('tree' => $t, 'leaf' => $l); } $node = array(); $node[1] = array('@parent' => 0, 'title' => 'I am node 1.'); $node[2] = array('@parent' => 1, 'title' => 'I am node 2.'); $node[3] = array('@parent' => 2, 'title' => 'I am node 3.'); $node[4] = array('@parent' => 1, 'title' => 'I am node 4.'); $node[5] = array('@parent' => 4, 'title' => 'I am node 5.'); print_r(array_stack($node));
以上就是分享幾個有意思的陣列方法的詳細內容,更多請關注TW511.COM其它相關文章!