3 回答
TA贡献1796条经验 获得超7个赞
正如您在array_keys源代码中看到的那样,在函数之前,在类型比较中(在函数中fast_is_identical_function
)-这就是为什么不支持数组的原因-因为核心代码无法破坏数组。
这mix_value
意味着您可以将array与array进行比较,或者将int与int进行比较...-而不是search的multi选项。
但是,您可以这样做:
$values = array_keys(array_filter($full['1stelement']['2ndelement']['elements'], function ($e) use ($test2range) {return in_array($e["test2"], $test2range);}));
或者,您可以自己实现它:
function array_keys_multi_search($arr, $searchValues, $strict) {
$res = array();
foreach($searchValues as $v)
$res = array_merge($res, array_keys($arr, $v, $strict));
return $res;
}
TA贡献1811条经验 获得超6个赞
解码您的json数组
$full = (array) json_decode($this->input->post($full_json);
然后使用foreach获取值
foreach($full['1stelement']['2ndelement']['elements'] as $key => $values){ }
TA贡献1803条经验 获得超6个赞
尝试array_intersect()检查匹配的键。
$full = json_decode($full_json,true);
$test2range = array(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20);
$values= array_column($full['1stelement']['2ndelement']['elements'], 'test2');
$result=array_intersect($test2range,$values);
var_dump($result);
exit;
- 3 回答
- 0 关注
- 200 浏览
添加回答
举报