我想检查多维数组中的键值,并打印其父数组的另一个键值。这可能会让人感到困惑。但是下面的例子可以说清楚。我有这样的阵列。
Entity Response : Array
(
[0] => Array
(
[type] => FieldTerminology
[relevance] => 0.709023
[count] => 4
[text] => domain name
)
[1] => Array
(
[type] => Company
[relevance] => 0.603375
[count] => 2
[text] => Laravel
)
[2] => Array
(
[type] => Person
[relevance] => 0.548389
[count] => 1
[text] => M. Naveen Kumar
)
我想检查是否有任何数组有key [type]
及其value = "Person"
,然后我想获得key[text]
的值。在这种情况下,我想打印 M. Naveen Kumar
答案 0 :(得分:0)
您可以遍历数组以找到它。你可以使用foreach(),array_walk()等。
$o = [];
array_walk($array, function($v) use(&$o){$v['type'] == 'Person' ? $o[] = $v['text'] : '';});
var_dump($o);
答案 1 :(得分:0)
试试这个
$people = array_filter($array, function($each) { return $each['type'] == 'Person'; });
$names = array_map(function($each) { return $each['name']; }, $people);
这是如何一步一步的?
array_filter
array_map