• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧
您的位置:首页 > CMS教程 >建站教程 > PHP简短而安全的数组遍历

PHP简短而安全的数组遍历

作者:站长图库 字体:[增加 减小] 来源:互联网 时间:2022-04-29

站长图库向大家介绍了PHP,数组遍历等相关知识,希望对您有所帮助

PHP简短而安全的数组遍历


在写 PHP 的数组遍历的时候,我们通常会这样写:

foreach ($definition['keys'] as $id => $val) {    // ...}

但是其实这样会引起一个重要的问题:如果 $definition['keys'] 没有定义的话,这个时候的数组变量(也就是 foreach)就会出现错误。

所以,我们进阶成这个样子:

if (!empty($definition['keys']) {    foreach ($definition['keys'] as $id => $val) {        // ...    }}

是不是很常见?我们只要在外边再包含一层 if 判断就好了。这样能够保证数组的安全遍历。

不过这样还没有达到简短的需求,所以借助 PHP7 的 ?? 便利,我们可以写成这个样子:

foreach ($definition['keys'] ?? [] as $id => $val) {    // ...}

是不是很 neat ! 哈哈哈,那么在这里理解 ?? 可以这样理解:

$a = is_null($b) ? $default : $b;$a = $b ?? $default;

相当于做了一个 is_null($b) 的操作。



分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 如何使用yum安装指定版本的php
  • PHP存入mysql乱码怎么办
  • laravel与thinkphp之间的区别与优缺点
  • ThinkPhp5.1制作微信支付以及支付后的几种状态说明
  • PHP读取文件的两种方式:file_get_contents和fread(附代码实例)
  • 记录某PHP后台系统,图片无法上传处理过程
  • PHP怎么只保留汉字
  • PHP怎么返回四位数不满补零
  • ThinkPHP3.2.3如何从php5升级到php7
  • PHP怎么遍历数组替换数组中的元素的值

相关文章

  • 2022-04-29帝国CMS多值字段for循环调用调用方法
  • 2022-04-29ThinkPHP菜单无极分类实例讲解
  • 2022-04-29网站快照停滞不前的N种影响因素
  • 2022-04-29社交网站内容对SEO的价值
  • 2022-04-29微信小程序实现点赞业务
  • 2022-04-29AI制作立体三维线条字母标志
  • 2022-04-29将phpcms默认ckeditor编辑器换成KindEditor
  • 2022-04-29thinkphp增加每页显示条数的方法
  • 2022-04-29如何解决微信公众平台php乱码问题
  • 2022-04-29苹果cms播放器无法全屏修复方法

文章分类

  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧

最近更新的内容

    • Thinkphp5+Redis实现商品秒杀代码实例讲解
    • 详解thinkphp下部分内容的ajax无刷新分页
    • 详解angular中为HTML元素添加css类的几种方式
    • Photoshop制作由云朵组成的艺术字教程
    • 超酷的CSS3 loading预加载动画特效
    • 解决Thinkphp5+部署到宝塔LNMP后404 NOT FOUND的问题
    • PhotoShop制作window7移动导航网页界面设计教程
    • Photoshop制作一个漂亮的金色球体图标
    • Laravel实现随着Resource返回自定义分页信息
    • 谈谈PHP运算符“::”、“->”和“=>”的区别

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有