我有一组7个复选框,名称=“restriction []”,我指定的值是Pos1到POS7。现在我希望根据选定的chechkboxs生成字符串,如果选择了第1,第5,第7个框,它会让我感到刺痛为1000101 如果仅选择第一个,则生成1000000
我的代码是
if(isset($_POST["submit"])){
for ($i=1;$i<count(restriction);$i++)
{
if($restriction[i].checked)
{
$val=$val+"1";
} else {
$val=$val+"0";
}
}
echo $val;
}
但它给了我错误,我使用if条件。
答案 0 :(得分:3)
学习PHP语言基础知识。点(.
)执行字符串连接,而不是成员访问。会员访问权限为->
。
答案 1 :(得分:0)
if (isset($_POST["submit"])){
for ($i=1; $i<count($_POST["restriction"]); $i++){
if($_POST["restriction"][$i]){
$val .= "1";
} else {
$val .= "0";
}
}
echo $val;
}
答案 2 :(得分:0)
使用以下复选框和PHP可以简化操作:
<?php
if($_POST['submit'] == 'Submit') {
//Take checked checkboxes and makes their indicies keys and their values 1
$checkboxes = array_fill_keys(array_values($_POST['restriction']), 1);
//
$checkboxes += array_diff_key(array_fill_keys(range(0,6), 0), $checkboxes);
ksort($checkboxes);
echo implode('', $checkboxes);
}
?>
<form method='post' action='#'>
<input type='checkbox' name='restriction[]' value='0' />
<input type='checkbox' name='restriction[]' value='1' />
<input type='checkbox' name='restriction[]' value='2' />
<input type='checkbox' name='restriction[]' value='3' />
<input type='checkbox' name='restriction[]' value='4' />
<input type='checkbox' name='restriction[]' value='5' />
<input type='checkbox' name='restriction[]' value='6' />
<input type='submit' name='submit' value='Submit' />
</form>
或者你可以使用而且很无聊!
<?php
if($_POST['submit'] === 'Submit') {
for($i = 0; $i < 6; $i++) {
echo (array_search($i, $_POST['restriction']) !== false) ? '1' : '0';
}
}
?>
<form action="#" method="post">
<input type="checkbox" name="restriction[]" value="0" />
<input type="checkbox" name="restriction[]" value="1" />
<input type="checkbox" name="restriction[]" value="2" />
<input type="checkbox" name="restriction[]" value="3" />
<input type="checkbox" name="restriction[]" value="4" />
<input type="checkbox" name="restriction[]" value="5" />
<input type="checkbox" name="restriction[]" value="6" />
<input type="submit" name="submit" value="Submit" />
</form>