php 数组的增加元素,php数组如何增加元素

91cdf6fb09753e8f9e31b70e71ed21c6.png

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教程》

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值