当前位置: 代码迷 >> PHP >> php array_unshift 函数的疑义
  详细解决方案

php array_unshift 函数的疑义

热度:263   发布时间:2016-04-28 18:36:20.0
php array_unshift 函数的疑问
本帖最后由 eiysxd 于 2014-08-22 23:07:03 编辑
 array_unshift 函数是让参数扔到是数组的最前面,但是为什么没反应?
$forums[$key]['level'] += 1;
我使用print_r输出了 
Array ( [fid] => 2 [fup] => 1 [name] => 测试 [displayorder] => 0 [threads] => 2 [posts] => 2 [todayposts] => 0 [allparent] => Array ( [0] => 2 ) [allnodes] => Array ( [0] => 2 ) [level] => 1 ) 

$fup  = 1
然后这一句代码   array_unshift($forums[$key]['parent'], $fup);

我查看print_r输出了
Array ( [fid] => 2 [fup] => 1 [name] => 测试 [displayorder] => 0 [threads] => 2 [posts] => 2 [todayposts] => 0 [allparent] => Array ( [0] => 1 [1] => 2 ) [allnodes] => Array ( [0] => 2 ) [level] => 1 [parent] => ) 

请问为什么parent => 是空的?? 难道不应该是 变成[parent]=>Array([0]=>1)这样吗??
------解决方案--------------------
可能是刚开始没有找到数组里面的parent 试试这样。

$fup=array(array('parent'=>1));
array_unshift($forums[$key], $fup);

------解决方案--------------------
$forums[$key]['parent'] 在哪里定义的?我怎么没看见
你的 array_unshift($forums[$key]['parent'], $fup); 将产生一条 Warning 错误:
array_unshift() expects parameter 1 to be array, null given 

但你却高傲地拒绝了 php 的帮助
  相关解决方案