如何检查php中的数组中是否存在值?

时间:2018-03-22 06:51:22

标签: php arrays if-statement

我有这个PHP代码:

<?php
  $A=['dog', 'cat', 'monkey'];
  $B=['cat', 'rat', 'dog', 'monkey'];

  foreach($A as $animal) {
    if(!in_array($animal, $B)) {
      echo "$animal doesn't exist<br>";
    }
  }
?>

但if语句永远不会执行。我做错了什么?检查数组中是否存在值 的正确方法是什么?

6 个答案:

答案 0 :(得分:2)

使用php in_array()ternary operator

$A=['dog', 'cat', 'monkey'];
$B=['cat', 'rat', 'dog', 'monkey'];
foreach($A as $animal) {
    $result[] = in_array($animal, $B) ? "$animal exist": "$animal does not exist";
}
var_dump($result);

答案 1 :(得分:1)

您的条件每次都是正确的,因为数组A中的所有元素都存在于数组B中。尝试添加一个新元素,然后看看。

<?php
    $A=['dog', 'cat', 'monkey', 'kite'];
    $B=['cat', 'rat', 'dog', 'monkey'];

    foreach($A as $animal) {
       if(!in_array($animal, $B)) {
         echo "$animal doesn't exist<br>";
       } else {
         echo "$animal exist<br>";
    }
?>

在实施程序之前先考虑逻辑。

答案 2 :(得分:0)

<?php
  $A=['dog', 'cat', 'monkey'];
  $B=['cat', 'rat', 'dog', 'monkey'];

  foreach($B as $animal) {
    if(!in_array($animal, $A)) {
      echo "$animal doesn't exist<br>";
    }
  }
?>

输出:rat doesn't exist

答案 3 :(得分:0)

你需要检查是否存在

<?php
  $A=['dog', 'cat', 'monkey'];
  $B=['cat', 'rat', 'dog', 'monkey'];

  foreach($A as $animal) {
    if(in_array($animal, $B)) {
      echo "exist";
    }
    else{
        echo 'not exist';
    }
  }
?>

答案 4 :(得分:0)

请尝试以下方法检查哪些存在,哪些不存在。

<?php
  $A=['dog', 'cat', 'monkey'];
  $B=['cat', 'rat', 'dog', 'monkey'];

  foreach($A as $animal) {
    if(in_array($animal, $B)) {
      echo "$animal exists in \$B<br/>";
    }
    else{
        echo "$animal does not exist in \$B<br/>";
    }
  }
?>

答案 5 :(得分:-1)

<?php    /*try this function,,
array_key_exists(array_key, array_name)*/

 $A=['dog', 'cat', 'monkey'];
 $B=['cat', 'rat', 'dog', 'monkey'];

foreach($A as $animal) {
if(array_key_exists($animal, $B)) {
  echo "$animal doesn't exist<br>";
  } else{echo"$animal doesnot exit<br>";}