在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 ";
}
?>