gpt4 book ai didi

php - 根据键数组获取数组的子集

转载 作者:行者123 更新时间:2023-12-02 03:35:35 26 4
gpt4 key购买 nike

我编写这个函数是为了获取数组的子集。 php 有没有内置的函数来实现这个功能?我在文档中找不到。如果我重新发明轮子,这似乎是一种浪费。

function array_subset($array, $keys) {
$result = array();
foreach($keys as $key){
$result[$key] = $array[$key];
}
return $result;
}

最佳答案

我也一直想要这个。就像 Underscore 的 PHP 版本 pick .

这很丑陋且违反直觉,但我有时会这样做(我认为这可能是 prodigitalson 的目的):

$a = ['foo'=>'bar', 'zam'=>'baz', 'zoo'=>'doo'];

// Extract foo and zoo but not zam
print_r(array_intersect_key($a, array_flip(['foo', 'zoo'])));
/*
Array
(
[foo] => bar
[zoo] => doo
)
*/

array_intersect_key返回第一个参数的所有元素,其键出现在第二个参数(以及所有后续参数,如果有)中。但是,由于它将键与键进行比较,我使用 array_flip为了方便。我也可以只使用 ['foo' => null, 'zoo' => null] 但这更难看。

关于php - 根据键数组获取数组的子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3454993/

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