如何验证非法偏移警告?

问题描述

foreach ($array as $value) {
      dump($value);
    }

通过我的循环转储,我得到了这个输出

array:2 [▼
  "id" => "9a989408e5"
  "Name" => "cat"
]


array:2 [▼
  "id" => "47601aae85"
  "Name" => "elephant"
]


array:2 [▼
  "uuid" => "7cb16ddafc"
  "Anzahl" => "rabbit"
]

但如果我试图只捕捉 id....

foreach ($array as $value) {
      dump($value['id']);
    }

我收到错误

警告:非法字符串偏移“id”

解决方法

您可以使用array_key_exists()简单地检查该键是否存在于数组中。像这样:

if(array_key_exists('id',$value)){
    dump($value['id']);
}
,
 foreach ($array as $value) {
    if (is_array($value) || is_object($value)){
       dump($value['id']);
    }
  }