我想在一个多维数组中搜索一个键,条件中有两个值。
我知道如何用单个搜索条件搜索多维数组:
$key = array_search($journee, array_column($data,'journee'));
字符串
但仅此而已。下面是我的数组设置:
Array
(
[0] => Array
(
[pseudo] => titi
[journee] => 11
[pts] => 3
)
...
[10] => Array
(
[pseudo] => test
[journee] => 10
[pts] => 6
)
[11] => Array
(
[pseudo] => test
[journee] => 11
[pts] => 4
)
)
型
如果我只把11
放在array_search
中,把array_column
放在键journee
中,它将返回0。
我也想在搜索条件中添加pseudo
(应该搜索键journee
和pseudo
以获得特定值)。
我该怎么做?
2条答案
按热度按时间u7up0aaq1#
一个简单的功能是不可能的。
下面是一个有2的解决方案:
字符串
但是如果你只需要找到一个键,我建议使用
foreach
和break
,因为你不必遍历所有的值数组(使用array_filter
会发生什么),并在找到某些数据时立即停止:型
ryoqjall2#
要享受有条件停止循环的效率,同时从全局范围中排除临时变量,请使用Immediately Invoked Functional Expression。可以使用
array_diff_assoc()
来识别符合条件的行,以检查搜索数组中的所有关联元素是否在给定行中匹配。Demo字符串