0

一个奇怪的问题。这是具有一些值的数组

$et_er_facilities = ( [0] => Swimming pool 
[1] => Squash court 
[2] => Mini market 
[3] => Playground ) 

如果我添加一些复选框来检查上面数组中存在的值,我正在尝试使用 in_array 函数。该功能适用​​于第一次检查,但在所有接下来的检查中,它不起作用。这是我的代码。

<input type="checkbox" id="facilities1" value="Swimming pool" name="et_er_facilities[]" <?php if (in_array("Swimming pool", $et_er_facilities)) {?>checked="checked"<?php }?>>
<input type="checkbox" id="facilities4" value="Squash court" name="et_er_facilities[]" <?php if (in_array('Squash court', $et_er_facilities)) {?>checked="checked"<?php }?>>
<input type="checkbox" id="facilities5" value="Mini market" name="et_er_facilities[]" <?php if (in_array('Mini market', $et_er_facilities)) {?>checked="checked"<?php }?>>
<input type="checkbox" id="facilities7" value="Playground" name="et_er_facilities[]" <?php if (in_array('Playground', $et_er_facilities)) {?>checked="checked"<?php }?>>

这就是它目前的工作方式。如果在上面的数组中,第一个值为 Playground,则复选框将仅选择 Playground,不会自动选择其他值。

在所有情况下,它只匹配数组的第一个值并选择相应的复选框,但如果它们也匹配,则不会选择其他值。

任何帮助,将不胜感激。

谢谢

4

2 回答 2

2

将数组初始化为

$et_er_facilities =  array(
    0 => 'Swimming pool',
    1 => 'Squash court', 
    2 => 'Mini market', 
    3 => 'Playground'
);
于 2013-04-23T17:34:13.690 回答
0

我修改了你的代码

<html>
<body>
<?php
*$et_er_facilities = array("Swimming pool","Squash court","Mini market","Playground" );* // most prob this was wrong in ur code

?>
<form>
<input type="checkbox" id="facilities1" value="Swimming pool" name="et_er_facilities[]"         <?php if (in_array("Swimming pool", $et_er_facilities)) {?>checked="checked"<?php }?>>
<input type="checkbox" id="facilities4" value="Squash court" name="et_er_facilities[]" <?php if (in_array('Squash court', $et_er_facilities)) {?>checked="checked"<?php }?>>
<input type="checkbox" id="facilities5" value="Mini market" name="et_er_facilities[]" <?php if (in_array('Mini market', $et_er_facilities)) {?>checked="checked"<?php }?>>
<input type="checkbox" id="facilities7" value="Playground" name="et_er_facilities[]" <?php if (in_array('Playground', $et_er_facilities)) {?>checked="checked"<?php }?>>
</form>
</body>
</html>
  1. 数组中没有游泳池 $et_er_facilities = array("壁球场","迷你市场","游乐场"); 它给出了 4 个复选框,除了第一个之外,所有复选框都被选中

  2. 使用数组中的游泳池 $et_er_facilities = array("游泳池","壁球场","迷你市场","游乐场"); 它选中了所有 4 个复选框

于 2013-04-23T17:53:30.780 回答