我有这个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语句永远不会执行。我做错了什么?检查数组中是否存在值 的正确方法是什么?
答案 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>";}