gpt4 book ai didi

PHP Array_intersect 在具有未知键数的多维数组上

转载 作者:可可西里 更新时间:2023-11-01 00:23:59 26 4
gpt4 key购买 nike

我正在尝试在拥有资源(人员)的应用程序中制作高级搜索过滤器。我在 1 个多维数组中得到了所有结果。该应用程序的用户可以搜索人员的职位、技能、工作领域和国家/地区。

我已经完成了查找符合用户给定条件的人员的部分。这些结果存储在一个多维数组中。如果用户正在寻找具有特定资源、职位和特定技能的人,则返回值是这样的:

$realfilters = array(2) {
["resourcesWithJobtitle"]=> array(6) {
[0]=> string(1) "1"
[1]=> string(2) "48"
[2]=> string(2) "88"
}
["resourcesWithSkill"]=> array(9) {
[0]=> string(1) "4"
[1]=> string(1) "8"
[2]=> string(1) "48"
[3]=> string(2) "50"
}

当用户还查找工作字段时,会将其添加到结果中:

["resourcesWithWorkfield"]=> array(3) {
[0]=> string(2) "48"
[1]=> string(2) "96"
[2]=> string(2) "97"
}

我需要知道哪些资源满足数组的所有维度,以便显示它们。 (所以在这个例子中我需要一个只有 1 个值的数组:48)。我想我需要使用 array_intersect 但似乎无法正确使用它。

最佳答案

可能的解决方案之一:您可以先extract() $realfilters 数组值到变量,然后将 array_intersect() 应用于它们。但是这个解决方案只有在可能的过滤器不多的情况下才适用。

另一个可能是最好的解决方案是在一个循环中相交,比如:

$res_arr = array_shift($realfilters);
foreach($realfilters as $filter){
$res_arr = array_intersect($res_arr, $filter);
}

关于PHP Array_intersect 在具有未知键数的多维数组上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10950577/

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