建站学 - 轻松建站从此开始!

建站学-个人建站指南,网页制作,网站设计,网站制作教程

当前位置: 建站学 > 网站开发 > PHP教程 >

分享几个有意思的数组方法

时间:2019-08-13 11:45来源:PHP中文网 作者:猪哥 点击:
使用传递的数组递归替换第一个数组的元素 array_replace_recursive $base = array('citrus' => array( "orange") , 'berries' => array("blackberry"
使用传递的数组递归替换第一个数组的元素 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);

537c289eff18d236102fd1c200c9148.png

带索引检查计算数组的交集,用回调函数比较索引 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"));

738c9dcb2e3ecc4a206089324fd5d0d.png

递归地合并一个或多个数组 array_merge_recursive

$ar1 = array("color" => array("favorite" => "red"), 5);\
$ar2 = array(10, "color" => array("favorite" => "green", "blue"));\
$result = array_merge_recursive($ar1, $ar2);

2f97f2519f7d77e78ba5b80314dd1bf.png

使用传递的数组递归替换第一个数组的元素 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));
(责任编辑:admin)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片