在php数组中使用if

在php数组中使用if,php,arrays,if-statement,Php,Arrays,If Statement,我有一个这样的数组 $cars=array("Volvo","BMW","Toyota"); 我用这个函数来验证宝马车是否在数组中 <?php $cars=array("Volvo","BMW","Toyota"); $arrlength=count($cars); for($x=0;$x<$arrlength;$x++) { echo $cars[$x]; echo "<br>"; if($cars[$x]="Merced

我有一个这样的数组

$cars=array("Volvo","BMW","Toyota");
我用这个函数来验证宝马车是否在数组中

<?php
 $cars=array("Volvo","BMW","Toyota");
 $arrlength=count($cars);

  for($x=0;$x<$arrlength;$x++) {
      echo $cars[$x];
      echo "<br>";
      if($cars[$x]="Mercedes"){
          echo "OK ";
      }
      else
      {
          echo "NO ";
      }
}
?>
结果如何?

在数组()中使用
检查是否在数组中找到值。像这样:

$inArray = in_array("BMW", $cars);
if ($inArray)
    echo 'OK';

我会使用in_array()函数

您的问题可以归结为以下几行:

if($cars[$x]="Mercedes")
您不是在比较,而是在分配。您需要为compmarison使用双等分:
==
-用于您的目的

但是,更好的解决方案是使用:


你的问题的直接答案是因为
=
=
不一样。如果($cars[$x]==“Mercedes”)

但是,通过使用适当的内置函数,您可以完全避免该问题:

if( in_array("Mercedes",$cars)) echo "Oh look a fancy car!";

使用[in_array()][1]检查是否在数组中找到值。

您的主要问题是,您没有使用比较运算符
=
,而是使用
=
这是用于分配变量的运算符,因此
如果($cars[$x]=“Mercedes”)
的计算结果始终为true,因此每次都可以看到OK。因此,您必须使用
==

另一方面,使用in_array()可以更好地完成您想要的任务

然而,如果你也想知道有多少梅赛德斯'在那里,你需要做以下事情

$cars=array("Volvo","BMW","Toyota");
$cars = array_count_values($cars);
if(isset($cars['Mercedes'])) {
    echo 'There are '.$cars['Mercedes'].' mercedes in the array';
} else {
    echo 'There are no mercedes in the array.';
}

我建议您使用此功能:

首先,您要查看数组中的每个元素: 对于每个元素:

  • 使用
    echo$cars[$x]显示名称
  • 使用

  • 如果是“梅赛德斯”,则显示“OK”;如果不是“不”
但事实上,您没有测试它是否是“梅赛德斯”,因为您没有使用比较器符号(
=
),而是赋值符号(
=
),所以它总是正确的

如果您只想检查数组中是否有“Mercedes”,请使用php函数“in_array”()



我是一个数组
嘿..为什么不使用PHP的内置函数?为什么不使用?请注意,
=
是赋值运算符,
=
==
是比较运算符$cars['Mercedes']在这里为空,因为“Mercedes”是一个值而不是一个值key@Apolo你可能想了解数组的计数值对不起,没有看到你覆盖它。但你可能也想读一下in_数组;-)@阿波罗,你可能想仔细阅读我的答案普华斯!我的错!哈哈
if( in_array("Mercedes",$cars)) echo "Oh look a fancy car!";
$cars=array("Volvo","BMW","Toyota");
if(in_array('Mercedes', $cars)) echo 'OK';
$cars=array("Volvo","BMW","Toyota");
$cars = array_count_values($cars);
if(isset($cars['Mercedes'])) {
    echo 'There are '.$cars['Mercedes'].' mercedes in the array';
} else {
    echo 'There are no mercedes in the array.';
}
<?php
 $cars=array("Volvo","BMW","Toyota");
 if(in_array("Mercedes",$cars)) {
      echo "OK ";
 }
 else
 {
     echo "NO ";
 }
?>