PHP 数组搜索值(如果存在)


php array search values if exist

[{id: 1, group: core},{id: 2, group: elite},{id: 3, group: elite},{id: 4, group: elite}]

如何检查 id 是否已在数组中退出?

我试过了 in_array(array('id' => 2), $myarray)但它不起作用。

你必须传递所有数组:

in_array(array('id' => 2, 'group' => 'elite'), $myarray)
您可以使用

array_column函数从数组中提取一列,然后搜索值,如下所示:

in_array(2, array_column($myarray, 'id'));

这假定您将该 JSON 转换为关联数组,而不是对象数组。

警告:此函数仅在 PHP 5.5 及更高版本上可用,因此您可以将此解决方法用于不存在函数的旧版本(在 5.5+ 上,它将使用本机快速实现):

if (!function_exists('array_column')) {
  function array_column($array, $column_key) {
    $ret = array();
    foreach ($array as $item)
      $ret[] = $item[$column_key];
    return $ret;
  }
}