我如何迭代$ departments数组并测试它是否等于$ name变量值,如果列表中有它,则返回“checked”。 departments是一系列复选框
function isChecked($name) {
$departments = (isset($_POST["interests"])) ? $_POST["interests"] : array();
foreach ($departments as $key => $value) {
// this next line here is wrong
if($departments[$key][$value] == $name) {
return "checked";
};
}
return "";
}
答案 0 :(得分:1)
你指的是foreach循环中的$value
错误。 $value
包含它所说的内容,$departments
数组中的内容值。
function isChecked($name) {
$departments = (isset($_POST["interests"])) ? $_POST["interests"] : array();
foreach ($departments as $key => $value) {
if($value == $name) {
return "checked";
};
}
return "";
}
答案 1 :(得分:1)
而不是if($ departments [$ key] [$ value] == $ name)
使用
if($value == $name)
答案 2 :(得分:0)
您想要使用
if ($departments[$key] == $name) { ... }
或
if ($value == $name) { ... }
$department[$key]
为$key
数组中的$department
提供值,但由于您在循环定义中设置了该值,因此该值也有助于存储在$value
中。
答案 3 :(得分:0)
试试这个。
function isChecked($name) {
return isset($_POST['interests'][$name]);
}
如果需要函数返回字符串值checked
,如果为true,则可以执行此操作。
return isset($_POST['interests'][$name]) ? 'checked' : '';