PHP数组如何添加元素

 

php数组添加元素的方法

  1. array_unshift()数组头插入新元素

 

$fruits = array('apple','pear','banana','orange');

array_unshift($fruits, 'cherry');

    pr($fruits);

function pr($str){    

    echo "
";    

    print_r($str);    

    echo "

";

}

 

输出:

Array(

    [0] => cherry

    [1] => apple

    [2] => pear

    [3] => banana

    [4] => orange

)

可向array_unshift传入多个元素

 

$fruits = array('apple','pear','banana','orange');

array_unshift($fruits, 'cherry','pie');

pr($fruits);

输出:

Array(

    [0] => cherry

    [1] => pie

    [2] => apple

    [3] => pear

    [4] => banana

    [5] => orange

)

 

2. 与之类似的函数array_push,向数组末尾插入一个或多个元素。

3. array_splice()任意位置插入新元素(不考虑键名)

 

$fruits = array('apple','pear','banana','orange');

//第三个参数固定为0,第二个参数为插入的索引位置,最后一个参数是插入的元素,如果插入多个,写成数组

array_splice($fruits,3,0,'pie');

pr($fruits);

输出:

Array(

    [0] => apple

    [1] => pear

    [2] => banana

    [3] => pie

    [4] => orange

)

//插入多个新元素,写成数组形式

$fruits = array('apple','pear','banana','orange');$new_items = array('pie','pie2');

array_splice($fruits,3,0,$new_items);

pr($fruits);

输出:

Array(

    [0] => apple

    [1] => pear

    [2] => banana

    [3] => pie

    [4] => pie2

    [5] => orange

)

4. 任意位置插入新元素(考虑数字键名的情况)

使用array_splice()有个不好的地方,不能保留数字键名。

下面有一已知数组

array(7=>'apple',3=>'pear',5=>'banana',2=>'orange');

要向第二个元素pear后面插入一新元素new fruit,键名是6.

实现过程有点曲折,新数组由三部分组成。具体见代码:

 

$new_key = 6;

$new_value = 'new fruit';

$exist_value = 'pear';

$array = array(7=>'apple',3=>'pear',5=>'banana',2=>'orange');

$pp = insert_array($array,$exist_value,$new_key,$new_value);

pr($pp);

function insert_array($array,$exist_value,$new_key,$new_value){

    $search_key = array_search($exist_value,array_values($array));

    if($search_key !== false){

        $new_array = array();

        $len = count($array);

        $arr_before = array_slice($array,0,$search_key+1,TRUE);

        $arr_after =$search_key == 0 ? array_slice($array,$search_key,$len,TRUE) : array_slice($array,$search_key-1,$len,TRUE);

        foreach($arr_before as $k=>$v){

            $new_array[$k] = $v;

        }

        $new_array[$new_key] = $new_value;

        foreach($arr_after as $k=>$v){

            $new_array[$k] = $v;

        }

    }else{

        $new_array = $array;

        $new_array[$new_key] = $new_value;

    }

    return $new_array;

}

文章来源于互联网: PHP数组如何添加元素

赞(0) 打赏
未经允许不得转载:传奇私服 - 传奇私服发布网,最好玩、最新潮的传奇SF尽在眼前 » PHP数组如何添加元素

评论 5

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址