zoukankan      html  css  js  c++  java
  • [PHP] laravel data_get函数以及?? ?: 测试用例

    当需要从多维数组中获取值,并且进行判空,赋值默认值的时候

    可以使用下面的测试用例

            $arr=[
                "name"=>"陶士涵",
                "title"=>[
                    "sub"=>"测试"
                ],
                "test"=>null,
                "desc"=>"",
                "num"=>0,
            ];
    
            $name=data_get($arr,"name","a");
            $subTitle=data_get($arr,"title.sub","a");
            $mainTitle=data_get($arr,"title.main","a");//如果没有这个key的情况下,默认值起作用,返回string(1) "a"
            $test=data_get($arr,"test","a");//如果是null的情况下,默认值不起作用,返回null
            $test2=data_get($arr,"test","a") ?? "a";//如果是null的情况下,??可以起作用,返回string(1) "a"
            $desc=data_get($arr,"desc","a") ?: "a";//如果是""的情况下,?:可以起作用,返回string(1) "a"
            $num=data_get($arr,"num","a") ?: 100;//如果是0的情况下,?:可以起作用,返回int(100)
            var_dump($name,$subTitle,$mainTitle,$test,$test2,$desc,$num);

    可以总结出,最兼容的写法是

    data_get   与 ?:进行配合 ,类似下面这样

    $desc=data_get($arr,"desc","a") ?: "a";

    开源作品

    GO-FLY,一套可私有化部署的免费开源客服系统,安装过程不超过五分钟(超过你打我 !),基于Golang开发,二进制文件可直接使用无需搭开发环境,下载zip解压即可,仅依赖MySQL数据库,是一个开箱即用的网页在线客服系统,致力于帮助广大开发者/中小站长快速整合私有客服功能
    github地址:go-fly
    官网地址:https://gofly.sopans.com

    赞赏作者

    微信交流

  • 相关阅读:
    Linux自动批量增加公钥
    主机存活监控
    [Linux小技巧] 将 rm 命令删除的文件放在回收站
    Linux常见问题及命令
    数据分析职位招聘情况及发展前景分析
    SQL查询小案例
    Oracle查看表结构
    前端JSON请求转换Date问题
    Centos7最小化安装
    拓词和扇贝有何不同
  • 原文地址:https://www.cnblogs.com/taoshihan/p/15069175.html
Copyright © 2011-2022 走看看