Php 如果条件等于数组值
我有一个数组。在这个数组中,我的水果名可以是梨,也可以是苹果,这取决于我在上一页中选择的按钮。假设我选择了苹果,if语句似乎不起作用,但它确实起了作用。它呼应了Php 如果条件等于数组值,php,Php,我有一个数组。在这个数组中,我的水果名可以是梨,也可以是苹果,这取决于我在上一页中选择的按钮。假设我选择了苹果,if语句似乎不起作用,但它确实起了作用。它呼应了$FROUTTYPE,它似乎得到了苹果,苹果应该启动我的if语句并向我显示“你做到了!”,但我的if条件没有。我做错了什么 阵列 水果名称=苹果 我的功能 function GetField($arr, $field) { $result = ' '; foreach($arr
$FROUTTYPE
,它似乎得到了苹果,苹果应该启动我的if语句并向我显示“你做到了!”,但我的if条件没有。我做错了什么
阵列
水果名称=苹果
我的功能
function GetField($arr, $field)
{
$result = ' ';
foreach($arr as $line)
{
if (explode('=', $line) [0] == $field)
{
$result = explode('=', $line) [1];
}
}
return $result;
}
$FruitType= GetField($array, 'Fruit_Name');
echo $FruitType;
if ($FruitType == "Apple")
{
echo "You did it!";
}
else if ($FruitType == "Pear")
{
echo "Its not Pear!";
}
在php中比较字符串(实际上,您应该对任何数据类型进行比较)时,必须使用===表示法。==仅用于数字,当用于字符串时会导致像您所面临的问题一样的问题
所以你的代码应该是
If($FruitType==“Apple”)
正如Dagon提到和解释的那样,Getfield函数是不正确的。
if(explode('=',$line)[0]==$field)
这将不会像您认为的那样起作用。我们将对此进行研究。谢谢。你所说的数组只是一个字符串,所以foreach不能工作either@Dagonexplode语句应该如何编写?