php如何通过另一个数组值搜索数组键
我有第一个数组php如何通过另一个数组值搜索数组键,php,arrays,loops,Php,Arrays,Loops,我有第一个数组 $rules = [ "0" => "id" , "1" => "message"]; 和另一个数组 $send = [ "id" => "132574" , "message" => "Hello!" , ... ]; 其他参数并不重要 我需要一个代码来检查$rules值是否存在于$send
$rules = [ "0" => "id" , "1" => "message"];
和另一个数组
$send = [ "id" => "132574" , "message" => "Hello!" , ... ];
其他参数并不重要
我需要一个代码来检查$rules
值是否存在于$send
键中,如果不存在,则将它们推入一个新数组,如
$require = [id , Message];
尝试:
但是它只给我第一个参数“id”只需使用
array\u keys()
和array\u diff()
带有array\u键和array\u intersect的解决方案
function keys_exists_in_array(array $keys, array $check){
return $keys == array_intersect($keys, array_keys($check));
}
该函数检查keys数组的所有值是否作为数组检查中的键可用
测试:
<?php
$send_keys = array_keys($send);
$diff_array = array_diff($rules,$send_keys);
print_r($diff_array);
function keys_exists_in_array(array $keys, array $check){
return $keys == array_intersect($keys, array_keys($check));
}
$rules = [ "0" => "id" , "1" => "message"];
$send = [ "id" => "132574" , "message" => "Hello!" ,"name" => "test"];
var_dump(keys_exists_in_array($rules,$send)); //true
$rules = [ "0" => "id" , "1" => "message"];
$send = [ "id" => "132574" , "name" => "test"];
var_dump(keys_exists_in_array($rules,$send)); //false