【问题标题】:Adding new values to start of an array in PHP [duplicate]在 PHP 中向数组的开头添加新值 [重复]
【发布时间】:2012-08-21 11:19:26
【问题描述】:

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

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

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

   ...
}

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

【问题讨论】:

    标签: php arrays push


    【解决方案1】:

    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
    )   
    */
    

    【讨论】:

    • 请注意,使用 array_unshift,参数将需要与您所拥有的相反(就像 array_push 一样)
    • 这是关于 OP 的参数顺序相反的事实(这是致命错误的原因);只是想让 OP 注意到参数顺序很重要:-)
    【解决方案2】:

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

    function get_data($table, $id = '', $condition){
    
       if($id != '')
         array_push($condition, " WHERE `id` = '".$id."' " );
    
       ...
    }
    

    if $condition 是一个数组,这不会给出致命错误,但它会将项目放在数组的 end 处。正如其他答案中提到的,array_unshift 是添加项目的函数。

    【讨论】:

      【解决方案3】:

      array_unshift 应该可以解决问题

      【讨论】:

      猜你喜欢
      • 2015-04-26
      • 1970-01-01
      • 2011-07-14
      • 2011-01-01
      • 2017-11-22
      • 1970-01-01
      • 2011-08-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多