на сайте я показываю список опций автомобиля в виде флажков.
<?php
foreach ($options as $key => $value) {
?>
<dl style="margin-bottom: 1em;">
<dt>
<?= $key ?>
</dt>
<?php
foreach ($value as $row ) {
?>
<div class="checkbox">
<label>
<input name="options[<?= $row ?>]" value ="1" type="checkbox"> <?= $row ?>
</label>
</div>
<?php
}
?>
</dl>
<?php
}
?>
это дает мне флажок, подобный следующему:
<div class="checkbox">
<label>
<input name="options[2 deurs]" value ="1" type="checkbox"> 2 deurs
</label>
</div>
, который является частью формы.
Я получаю данные формы из сообщения, например:
$data["optionsarray"] = $this->input->post('options[]', TRUE);
Я заметил, что когда в имени опции есть пробел, ключ массива не показывает это имя.
, поэтому, если имя опции «зеркала», массив выглядит следующим образом:
array(1) { ["mirrors"]=> string(1) "1" }
, но если имя опции: 2 door, я получаю массив, подобный этому:
array(1) { [0]=> string(1) "1" }
Я понятия не имею, почему это происходит, так как я думал, что в ключах массива разрешены пробелы? Есть ли способ предотвратить это или я должен просто заменить пробелы в именах опций, скажем, подчеркиванием?