如果在PHP中的条件评估

时间:2011-06-27 07:35:45

标签: php

$karthik=$_POST['myarray1'];

if($karthik=="karthik"){
echo "correct";
}
else{
echo "incorrect";
}

这里myarray1是一个数组变量有值“karthik”它显示结果不正确

2 个答案:

答案 0 :(得分:2)

在您给出的示例中,变量$ karthik无法使用值'karthik'。在if语句之前执行此操作以确认。

echo '$karthik.... ';
var_dump($karthik);
echo '$_POST["myarray1"]....';
var_dump($_POST['myarray1']);

你说

  

这里myarray1是一个数组变量

这有点含糊不清,您是从页面发布此内容还是来自其他地方的变量?

答案 1 :(得分:1)

您建议$_POST['myarray1']是一个数组,在字符串上下文中使用时,它将评估为“Array”。因此,条件$karthik=="karthix"显然是错误的,因为"Array"不等于"karthix"

如果您有像以下字段:

<input name="myarray1[]" value="karthix">

您可以使用in_array函数检查字段是否包含值"karthix",以检查数组中是否包含字符串:

$karthix = $_POST['myarray1'];
if (in_array("karthix", $karthix)) {
    echo "correct";
}