php有意思知识分享,分享几个有意思的数组方法
使用傳遞的數組遞歸替換第一個數組的元素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));
本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
七述
總結
以上是生活随笔為你收集整理的php有意思知识分享,分享几个有意思的数组方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: nginx php mysql分离,详解
- 下一篇: 弹簧压缩 时间 matlab,用matl