0

我尝试使用 array_push(),但出现致命错误。

function get_data($table, $id = '', $condition){

   if($id != '')
     array_push( " WHERE `id` = '".$id."' ", $condition );

   ...
}

问题是,如何在数组的开头添加一个值(在我的例子中是一个字符串)?

4

3 回答 3

8

array_unshift()是你要找的功能!

array_unshift — 将一个或多个元素添加到数组的开头

$arr = array(1,2,3);
print_r($arr);

/*
Array
(
    [0] => 1
    [1] => 2
    [2] => 3
)   
*/
array_unshift($arr,0);
print_r($arr);

/*
Array
(
    [0] => 0
    [1] => 1
    [2] => 2
    [3] => 3
)   
*/
于 2012-08-26T21:27:43.510 回答
4

致命错误是因为您的参数顺序相反:

function get_data($table, $id = '', $condition){

   if($id != '')
     array_push($condition, " WHERE `id` = '".$id."' " );

   ...
}

如果$condition 是一个数组,这不会给出致命错误,但它会将项目放在数组的末尾。如其他答案中所述, array_unshift 是添加项目的函数。

于 2012-08-26T21:28:16.757 回答
0

array_unshift应该可以解决问题

于 2012-08-26T21:28:33.480 回答