• 【tp5】索引数组转成关联数组 ( $a=[],转换成 $a['aa'=>2,'bb'=>'3c'] )


    概念:

    索引数组 ==== 》》》$arr = [];

    关联数组 ====》》》 $arr = [ 'orange'=>1,'apple'=>'good'  ];

    1、在tp5之前的tp3.2,我们知道索引数组转关联数组,是直接可以转成功的,因为php是弱语言类型。

    2、在tp5之后,索引数组不能直接转关联数组,必要通过isset进行判断,然后才能给转成关联数组。

         否则,tp5会报错:

    未定义数组索引: aa

    如何避免这个错误呢?

    可以isset进行判断【‘aa’】下标是否存在,不存在,则进行赋值;存在则直接赋值。

    demo:

    if(!empty($erp_today_pay_arr)){
                            $a = [];    //用于存放支付方式和金额的一维数组,key是支付方式
                            foreach($erp_today_pay_arr as $v){
                                $one_p_t_arr = [];
                                $one_p_t_arr = explode('+', $v['Money_Paytype']);
                                foreach($erp_pay_type_arr as $v2){
                                    foreach($one_p_t_arr as $v3){
                                        $c='';
                                        $c=substr($v3,0,strrpos($v3,'('));  //淘宝支付宝、支付宝、微信支付等
                                        if( $c == $v2 ){
                                            $b='';
                                            $b=substr(trim($v3,')'),strrpos(trim($v3,')'),'(')+1);
                                            if(!isset($a[$v2])){
                                                $a[$v2] = '';
                                                $a[$v2]+=$b;
                                                $a[$v2] = number_format($a[$v2],2,'.','');
                                            }else{
                                                $a[$v2]+=$b;
                                                $a[$v2] = number_format($a[$v2],2,'.','');
                                            }
                                        }
                                    }
                                }
                            }
                        }

    上面$a 刚开始我们定义成索引数组a,然后通过isset进行转换成 关联数组,里面包含了很多的下标【$v2】。

    如果不使用isset,直接进行$a[$v2],会报错:【未定义数组索引: aa】

  • 相关阅读:
    返回一个整数数组中子数组的最大值
    软工概论第二周个人项目四则运算二(改进)
    构建之法阅读笔记01
    单例模式
    .net基础加强
    使用jquery easy ui
    抽象工厂类
    System.Linq.Expressions.Expression
    创建上下文对象
    DBSesson
  • 原文地址:https://www.cnblogs.com/xuzhengzong/p/9492744.html
Copyright © 2020-2023  润新知