如何在一个 foreach 循环中检查两个数组?

How to check two arrays in one foreach loop?

如何检查 foreach 循环中的任何键是否存在于另一个数组的值中?

数组1我要检查

$array1 = array(
    'a' => '1',
    'b' => '2',
    'c' => '3',
);

数组 2 应该与数组 1 进行比较

$reserved_words = array('b');

我想要的是检查条件检查是否为 TRUE 以应用特定操作。我的代码现在看起来像这样:

foreach( $array1 as $key => $value )
{
    // Check for reserved words
    if( in_array($key, $reserved_words)
    {
        // Some action
    }

    // Code...
}

我找不到与 array_key_exists 类似的内容,可能是我遗漏了什么。

我想通过简单的操作来检查它:

if( array_value_exists($value, $reserved_words) )

但问题是没有array_value_exists功能可用。

您首先忘记了 foreach header 中的 as 关键字,并且您在 if 语句中遗漏了 )

所以这应该有效:

<?php

    $array1 = array(
                'a' => '1',
                'b' => '2',
                'c' => '3',
            );

    $reserved_words = array('b');

    foreach( $array1 as $key => $value ) {
                   //^^Here 'as' keyword

        if( in_array($key, $reserved_words)) {
            echo $key;                   //^Here ')' closed if statement
        }

    }

?>
$array1 = array(
  'a' => '1',
  'b' => '2',
  'c' => '3',
);
$reserved_words = array('b');
>>> array_intersect_key($array1, array_flip($reserved_words));
=> [
     "b" => "2"
]

您缺少 'as' 关键字。请输入如下代码

foreach($array1 as $key => $val){
if(in_array($key, $reserved_words)){
    echo "yes";
} else {
    echo "no";
}

}