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