gpt4 book ai didi

PHP数组映射

转载 作者:IT王子 更新时间:2023-10-29 00:19:16 27 4
gpt4 key购买 nike

有没有比 foreach 更简洁的方法来获取所有“标签”值的数组?

$methods[0]['label'] = 'test';
$methods[0]['nr'] = 99;
$methods[1]['label'] = 'whatever';
$methods[1]['nr'] = 10;


foreach($methods as $method) {
$methodsLabel[] = $method['label'];
}

最佳答案

不,没有比您实现的代码更快的方法了。由于函数调用的开销,所有其他方法都会变慢。对于一个小数组,差异将是微不足道的,但对于一个大数组(100 个左右的成员,取决于实现),差异可能是巨大的...

您可以 array_map 它,但我会坚持使用您在上面发布的原始 PHP...它更易于维护并且恕我直言更具可读性...

毕竟,告诉我哪个一目了然告诉您它的作用更多:

$results = array();
foreach ($array as $value) {
$results[] = $value['title'];
}

对比

$results = array_map(function($element) {
return $element['title'];
},
$array
);

或者:

$callback = function($element) {
return $element['title'];
}
$results = array_map($callback, $array);

就我个人而言,第一个最适合我。它在不知道任何它在做什么的情况下立即显而易见。其他的需要了解 array_map 语义才能理解。再加上 array_map 较慢这一事实,这对 foreach 来说是双赢。

代码只应尽可能优雅。它应该首先是可读的......

关于PHP数组映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5108293/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com