In_array第一次在复选框中工作


in_array works for the first time in checkbox

一个奇怪的问题。这是包含一些值

的数组
$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,而不会自动选择其他值。

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

如有任何帮助,将不胜感激。

谢谢

将数组初始化为

$et_er_facilities =  array(
    0 => 'Swimming pool',
    1 => 'Squash court', 
    2 => 'Mini market', 
    3 => 'Playground'
);

我修改了你的代码

<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. 与SwimmingPool在数组$et_er_facilities = array("游泳池"、"壁球场"、"迷你市场"、"游乐场");它给所有4个复选框都勾选了