繁体   English   中英

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

[英]Find array element with greatest or smallest sub-array element value

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

在不使用PHP代码遍历每个数组的情况下,如何确定具有最大和最小x的元素的索引?

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

提取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);

array_column()需要PHP> = 5.5.0或使用array_column()PHP实现

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM