thinkphp合并数组问题

发布网友 发布时间:2022-04-20 11:20

我来回答

2个回答

热心网友 时间:2023-09-13 01:25

array_push将指定的值添加到某数组的结尾,返回添加后的数组长度,并不是新数组的值
$a = array('0','1');
$b = array_push($a,"2");     //$b是新添加后数组的长度
var_mp($a);               //此时打印$a
//输出:
array (size=3)
  0 => string '0' (length=1)
  1 => string '1' (length=1)
  2 => string '2' (length=1)

追问不是这问题,array_push添加"小明"可以,但是如果添加name=>"小明"就不行了

追答

它后面添加的值要么是一个字符串,要么是一个数组:

$a = array('0','1');
$b = array_push($a,array('name'=>'小明'));
var_mp($b);        //输出还是数组的长度
var_mp($a);
//输出:
array (size=3)
  0 => string '0' (length=1)
  1 => string '1' (length=1)
  2 => 
    array (size=1)
      'name' => string '小明' (length=6)

热心网友 时间:2023-09-13 01:26

你输出的是$b吧 array_push()该函数返回的是新数组的长度
print_r($a); 输出就是你要的数组!追问不是这问题,array_push添加"小明"可以,但是如果添加name=>"小明"就不行了

追答查询手册看array_push()函数的参数返回值等。
如果只是给$a中添加一个元素 可以用直接赋值,提高效率!
如果是合并两个有多个元素的数组 并且确定键值不重复,用array_merge()函数 合并数组

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com