Php 如果有更好的方法来检查这些数组键

Php 如果有更好的方法来检查这些数组键,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,我希望看到是否有更好的方法来检查那些数组键,如果它们存在的话。我使用的是基本if语句 $rules = array( 'extensions' => ['png', 'gif', 'jpg', 'jpeg'], 'mimes' => ['image/png', 'image/gif', 'image/jpeg', ]); if (in_array($mime_type, $rules['mimes'])) { echo "&l

我希望看到是否有更好的方法来检查那些数组键,如果它们存在的话。我使用的是基本if语句

$rules = array( 
    'extensions' => ['png', 'gif', 'jpg', 'jpeg'],
    'mimes' => ['image/png', 'image/gif', 'image/jpeg', 
    ]);

if (in_array($mime_type, $rules['mimes']))
      {
        echo "<br>Valid Image!<br>>";
      }
else
      {
        echo "<br>Ivalid Image!<br>>";
        }   

if (in_array($file_type, $rules['extensions']))
      {
    echo "<br>Valid Extension<br>";
      }
else
      {
    echo "<br>Ivalid Extension<br>";
  }
$rules=数组(
'extensions'=>['png','gif','jpg','jpeg'],
“mimes”=>[“image/png”、“image/gif”、“image/jpeg”,
]);
if(在数组中($mime\u type,$rules['mimes']))
{
回显“
有效图像!
”; } 其他的 { 回声“
Ivalid图像!
”; } if(在数组($file\u type,$rules['extensions'])中) { 回显“
有效扩展名
”; } 其他的 { echo“
Ivalid扩展名
”; }
您正在检查键/值吗? 在您的问题标题中,它说的是键,但您正在搜索上述代码中的值。 若要获取值,若它是一个简单的一维数组,那个么数组中的数组将有所帮助。 要获取密钥,可以使用数组检查密钥是否存在。 如果是多维数组,可以这样尝试:可以修改逻辑以在同一个函数中同时获取key/val。
如果有帮助,请告诉我。

我觉得您的代码不错,但为了节省一些行,您可以使用,即:


它成功了,谢谢你的时间分配,是的,它让我免于分配if语句
$result = [];
array_walk_recursive($rules, function ($item) use (&$result, $file_type, $mime_type)
{
    if (preg_match("@$mime_type|$file_type@i", $item))
    {
        $result[] =  $item;
    }
}
);
if (count($result) > 1) {
    print "both values";
   }