dongtangu8403 2013-11-28 18:21
浏览 29
已采纳

附加elts后,php数组为null

Im having problems with appending items to array. First I init the empty array and then I want to put elemnts inside.

But, result on the end is empty array.

$aditivs = array();

function handle_Aditiv($ArrVal){
  $id_aditiv = $ArrVal['id'];
  $code = $ArrVal['code'];
  $arrLocal = array();
  $arrLocal[] = $id_aditiv;
  $arrLocal[] = $code;
  $aditivs [] = $arrLocal;
 //var_dump($aditivs);
 echo "Adt : $id_aditiv,$code 
";
}

var_dump($aditivs); //this print out empty array

insted of:

$aditivs [] = $arrLocal;

I use also this, but the result is the same

array_push($aditivs, $arrLocal);

So where and what am I doing wrong?

  • 写回答

1条回答 默认 最新

  • ds11111111111111111 2013-11-28 18:40
    关注

    test.php:

    <?php 
    $aditivs = array();
    
    
    function handle_Aditiv($ArrVal){
        Global $aditivs;
        $aditivs[] = array($ArrVal['id'], $ArrVal['code']);
        return(0);
    }
    
    $arr = array('id'=>1, 'code'=>"code");
    handle_Aditiv($arr);
    var_dump($aditivs); 
    
     ?>
    

    run:

    >php test.php
    

    output:

    array(1) {
      [0] =>
      array(2) {
        [0] =>
        int(1)
        [1] =>
        string(4) "code"
      }
    }
    

    BUT:

    Technically, the best way is using reference:

    <?php 
    $aditivs = array();
    
    
    function handle_Aditiv(&$accumulator, $input){
        $accumulator[] = array($input['id'], $input['code']);
    }
    
    $arr = array('id'=>1, 'code'=>"code");
    handle_Aditiv($aditivs, $arr);
    
    var_dump($aditivs); 
    
    ?>
    

    For your case there is no difference, but in long, complex code it's makes the idea much clear.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 软件测试决策法疑问求解答
  • ¥15 win11 23H2删除推荐的项目,支持注册表等
  • ¥15 matlab 用yalmip搭建模型,cplex求解,线性化处理的方法
  • ¥15 qt6.6.3 基于百度云的语音识别 不会改
  • ¥15 关于#目标检测#的问题:大概就是类似后台自动检测某下架商品的库存,在他监测到该商品上架并且可以购买的瞬间点击立即购买下单
  • ¥15 神经网络怎么把隐含层变量融合到损失函数中?
  • ¥15 lingo18勾选global solver求解使用的算法
  • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行