查找具有最大或最小子数组元素值的数组元素

时间:2016-09-09 15:51:01

标签: php arrays

以下数组的元素1表示具有最大x值的元素,而元素2表示具有最小x元素的元素。

如果不使用PHP代码循环遍历每个数组,那么如何确定具有最大和最小x的元素的索引?

$array = [
    ['x'=>5,'y'=>3],
    ['x'=>9,'y'=>3],
    ['x'=>3,'y'=>3],
    ['x'=>7,'y'=>3]
];

1 个答案:

答案 0 :(得分:4)

提取x列并进行计算:

$x = array_column($array, 'x');
$min = min($x);
$max = max($x);

或者,正如 JustOnUnderMillions 指出的那样:

list($min, $max) = [min($x=array_column($array, 'x')), max($x)];

要获取包含该值的数组的索引,只需使用array_search()。如果有多个相同的值,它将返回第一个键:

$x = array_column($array, 'x');
$min = array_search(min($x), $x, true);
$max = array_search(max($x), $x, true);
{p <1}}需要

PHP&gt; = 5.5.0或使用PHP Implementation of array_column()