首页 > 解决方案 > 根据item中某个key的值获取数组中的item

问题描述

假设我有一个这样的数组:

$myArray = [
    [ 'id' => 1, 'name' => 'Some Name' ],
    [ 'id' => 2, 'name' => 'Some Other Name ] 
]

现在如果想在不使用索引 ( $myArray[1]) 的情况下获取第二个项目,而是使用namewhich is的值,Some Other Name我该怎么做?

我不想只为一个值循环整个数组,那么我怎样才能以一种我自己不显式循环数组的方式编写它呢?我查看了array_search(),但找不到$myArray包含其他数组作为项目的示例。

标签: php

解决方案


你可以使用array_filter()函数:

<?php

$myArray = [
    ['id' => 1, 'name' => 'Some Name'],
    [
        'id' => 2, 'name' => 'Some Other Name'
    ]
];


$filterData = array_filter($myArray, function ($data) {
    return $data['name'] == "Some Other Name";
});
var_dump($filterData);
die;
?>

推荐阅读