PHP 查找二维数组中指定的元素并返回键值

PHP 154 0 2024-09-25

PHP 查找二维数组中指定的元素并返回键值

在 PHP 中找到二维数组中特定的元素,最常见的方法是使用循环和条件语句进行遍历,直到找到所需的元素。也可以使用 PHP 内置的函数如 array_search() 或 array_column(),它们可以在特定条件下帮助我们在二维数组中查找某个数据或所需的元素。


以下是使用循环查找一个二维数组中特定元素的例子:

$people = array(
  array('id' => 1, 'name' => 'John'),
  array('id' => 2, 'name' => 'Jane'),
  array('id' => 3, 'name' => 'Bob')
);

$person_id = 2;
$found_person = null;

foreach ($people as $person) {
  if ($person['id'] == $person_id) {
    $found_person = $person;
    break;
  }
}

if ($found_person) {
  echo "Person found: " . $found_person['name'];
} else {
  echo "Person not found!";
}


需要注意的是,如果二维数组非常大,循环遍历所有元素可能会比较耗时。因此,在此类情况下,可以考虑使用 array_search() 或 array_column() 等 PHP 内置函数进行查找。

函数返回查找到的键名。如果未找到该值,则返回 false。


以下是使用 array_search() 查找一个二维数组中特定元素的例子:

$people = array(
  array('id' => 1, 'name' => 'John'),
  array('id' => 2, 'name' => 'Jane'),
  array('id' => 3, 'name' => 'Bob')
);

$person_id = 2;

$key = array_search($person_id, array_column($people, 'id'));

if ($key !== false) {
  $found_person = $people[$key];
  echo "Person found: " . $found_person['name'];
} else {
  echo "Person not found!";
}


注意的是,使用 array_search() 函数查找键比使用循环遍历数组的方法快得多。因此,对于大型的二维数组,使用 array_search() 函数可以大大提高代码的效率。


参考来源:https://blog.csdn.net/qq_27487739/article/details/130641825


上一篇:PHP MQTT client客户端连接订阅/发布消息

下一篇:PHP8+TP8+think-image处理图片错误(Implicit conversion from float 848.5 to int loses precision)解决方法

讨论数量:0

请先登录再发表讨论。 2024-11-24

天涯网魂
3 杠 5 星
TA 的文章
TA 的随言
TA 的资源链