我试图循环通过一个数组,同时使用另一个数组作为一种";过滤器":
$aa = ["b","r","i", "g", "i", "t", "t", "e"];
$bb = ["a", "e", "i", "o", "u", "r"];
foreach($aa as $b){
if($b == $bb){
echo "Give me an ". $b;
echo "n";
}else{
echo "Give me a ". $b;
echo "n";
}
}
所以我希望它将$aa中的字母与$bb中的字母列表进行比较,以确定它是否应该呼应";一个或";a";在语法上是正确的。我唯一能让它正常工作的方法就是这样做:
foreach($aa as $b){
if($b == "a" or $b == "e" or $b == "i" or $b == "o" or $b == "u" or $b == "r"){
echo "Give me an ". $b;
echo "n";
}else{
echo "Give me a ". $b;
echo "n";
}
}
您应该使用in_array
这是php.net、中的官方文档
我会这样做:
foreach($aa as $b){
if(in_array($b, $bb)){
echo "Give me an ". $b;
echo "n";
}else{
echo "Give me a ". $b;
echo "n";
}
}
试试这个:(
<?php
$aa = ["b","r","i", "g", "i", "t", "t", "e"];
$bb = ["a", "e", "i", "o", "u", "r"];
foreach($aa as $b){
if(in_array($b, $bb)){
echo "Give me an ". $b . "<br/>";
echo "n";
}else{
echo "Give me a ". $b . "<br/>";
echo "n";
}
}
exit(0);
输出:
Give me a b
Give me an r
Give me an i
Give me a g
Give me an i
Give me a t
Give me a t
Give me an e