【问题标题】:What is the best way to ensure all key value pairs exist in an PHP array?确保 PHP 数组中存在所有键值对的最佳方法是什么?
【发布时间】:2018-02-09 18:57:03
【问题描述】:

我想避免对每个键值执行多个条件 - 例如,“$first_node['logo'];”不可用

        foreach ( $arr as $key => $value ) {
         // I want to avoid conditional here for each node


         $first_node         = $value[0];
         $logo             = $first_node['logo'];
         $name            = $first_node['name'];
         break;
        }

【问题讨论】:

标签: php arrays validation


【解决方案1】:

使用isset。

$logo = isset($first_node['logo']) ? $first_node['logo']:null;

【讨论】:

  • 更多的值,我如何在一个条件下做到这一点 - 在这种情况下,名称和徽标以及任何其他值
【解决方案2】:

简短,如果您使用 >= PHP7,请使用合并运算符

$name = $first_node['name'] ?? null;

如果您使用的是旧版本

$name = isset($first_node['name']) ? $first_node['name'] : null; 

【讨论】:

  • 如果没有设置,第二个实际上会产生未定义的索引警告。
  • 更多的值,我如何在一个条件下做到这一点 - 在这种情况下,名称和徽标以及任何其他值
  • @php_needs 您必须保留一个包含所有可能变量键的数组。遍历数组并检查 key 是否存在于 first_node 中,如果现在将其设置为 null。
猜你喜欢
  • 2010-11-11
  • 2017-02-22
  • 1970-01-01
  • 1970-01-01
  • 2016-05-19
  • 2022-06-20
  • 1970-01-01
  • 1970-01-01
  • 2015-07-13
相关资源
最近更新 更多