PHP - 函数在array_push之后返回一个数组

时间:2015-07-03 05:50:11

标签: php arrays function return array-push

为什么'数组推送元素'没有回显?

function dofoo1() {  

    $array = array("1aaa", "2bbbb", "3cccc");  
    $count = '######';  
    $array1 = array_push($array, $count);  

    return $array1;  
}  

$foo1 = dofoo1();  
echo $foo1[3];  

4 个答案:

答案 0 :(得分:1)

无需将array_push分配给变量。

function dofoo1() {

    $array = array("1aaa", "2bbbb", "3cccc");  
    $count = '######';  
    array_push($array, $count);  

    return $array;  
}  


$foo1 = dofoo1();  
echo $foo1[3];  

答案 1 :(得分:1)

array_push()返回数组中新的元素数。

所以,你应该返回你推动的数组本身,

改变,

return $array1; 

return $array; 

答案 2 :(得分:1)

php docs array_push() 中所述,更改给定数组并仅返回元素数。 因此,您必须返回$array而不是$array1

如果您只想添加一个元素,则避免array_push() 更好,并使用$array[] = $count;。 在array_push()的{​​{3}} 中推荐使用

所以你的代码应该是这样的:

function dofoo1() {  
  $array = array("1aaa", "2bbbb", "3cccc");  
  $count = '######';  
  $array[] = $count;  

  return $array;  
}  

$foo1 = dofoo1();  
echo $foo1[3];

答案 3 :(得分:0)

您可以简单地使用数组合并

function dofoo1() {  
  $array = array("1aaa", "2bbbb", "3cccc");  
  $count = '######';  
  
  return array_merge($array, array($count));  
}  

$foo1 = dofoo1();  
echo $foo1[3];