Получение числовых значений из отмеченных и снятых флажков формы

Я пытаюсь получить значения из всех (отмеченных и неотмеченных) полей в форме. Я знаю, что непроверенные значения обычно не отправляются на сервер. Я искал и нашел это:

<form action="<?php echo $_SERVER[PHP_SELF] ?>" method="post">
<input type="checkbox" id="1" name="box[]" value="1" />
<input type="checkbox" id="2" name="box[]" value="2"  />
<input type="checkbox" id="3" name="box[]" value="3"  />
<input type="submit" value="Submit" />
</form>

<?php 
// $box = $_POST['box'];
$foo = array();
for ($i = 1; $i <= 3; $i++) {
    $foo[$i] = in_array($i, $_POST['box']) ? 'on' : 'off';
}

print_r ($foo);
?>

Результат:

Array ( [1] => off [2] => on [3] => off )

Это довольно интересное решение, но оно включается (1) только для отмеченных флажков и выключается (0) для неотмеченных флажков, в то время как я хочу получить числовые значения из формы. В качестве вывода я хотел бы иметь массив с проверенными и непроверенными значениями. Как я могу это сделать, предпочтительно используя приведенный выше код в качестве основы? Пожалуйста помоги.

Я хочу уточнить свой вопрос. Если у меня есть следующая форма:

<form action="" method="post">
    <input type = "checkbox" id = "254" name = "voc2[]" value= "8089" />yes
    <input type = "checkbox" id = "255" name = "voc2[]" value= "8148" />no
    <input type = "checkbox" id = "256" name = "voc2[]" value= "8207" />maybe
  <input name="submit" type="submit" />
</form>

Могу ли я получить одно из значений (например, 8089) на той же странице, если оно не проверено? Я пробовал:

<?php
  if (isset($_POST['submit'])) {
    $voc2 = $_POST['voc2'];

    echo '<br> $voc2 = '. $voc2[0];

  }
?>

но он по-прежнему показывает только проверенные значения.


person Ken    schedule 30.10.2017    source источник
comment
Поскольку неотмеченные флажки не находятся в массиве сообщений, вы не можете получить их значения.   -  person Jay Blanchard    schedule 30.10.2017
comment
Означает ли это, что идентификаторы для неотмеченных флажков также недоступны?   -  person Ken    schedule 30.10.2017
comment
Это правильно.   -  person Jay Blanchard    schedule 30.10.2017
comment
Сказав это, вы можете собрать все с помощью JavaScript и использовать AJAX для отправки всего этого скрипту PHP.   -  person Jay Blanchard    schedule 30.10.2017
comment
Спасибо, Джей. Может быть, вы можете дать мне какую-нибудь ссылку или идею для начала.   -  person Ken    schedule 30.10.2017
comment
@JayBlanchard После долгих поисков и исследований я нашел оригинальное решение этой проблемы. К сожалению, я не могу ответить на свой вопрос. Вероятно, это из-за пометки [дубликат]. Очень плохо.   -  person Ken    schedule 02.11.2017