#php
#php
Вопрос:
Я создал динамические флажки, как показано ниже
$extList = array(
array("server" => "whois.verisign-grs.net", "extName" => "com"),
array("server" => "whois.verisign-grs.net", "extName" => "com.tr"),
array("server" => "whois.verisign-grs.net", "extName" => "tv"),
array("server" => "whois.verisign-grs.net", "extName" => "net"),
array("server" => "whois.verisign-grs.net", "extName" => "gen.tr"),
array("server" => "whois.verisign-grs.net", "extName" => "de"),
array("server" => "whois.verisign-grs.net", "extName" => "org"),
);
foreach ($extList as $key => $value) {
?>
<span> <input type="checkbox" name="ext[]"
value="<?= $value["extName"] ?>"> <?= $value["extName"]
Что я хочу сделать, так это добавить эти значения в массив Я пробовал что-то подобное, но я думаю, что я что-то пропустил, потому что он просто показывает одну запись
for ($i = 0; $i < count($_POST["ext"]); $i ) {
$list = array(
"extName" => $_POST["ext"][$i],
"server" => $extList[$i]["server"]
);
array_push($extAndServer, $list);
}
Комментарии:
1. Убедитесь, что ваши поля ввода имеют имя
ext[]
, а неext
.2. он работает на моей стороне..
3. я выбираю
com, com.tr
из флажка и получаю этот результатArray ( [0] => Array ( [extName] => com [server] => whois.verisign-grs.net ) [1] => Array ( [extName] => com.tr [server] => whois.verisign-grs.net ))
Ответ №1:
Вам просто нужно объявить свой массив перед использованием array_push()
как:
$extAndServer = array(); // declare your array
Я попробовал этот пример:
Ваш массив:
<?php
$extList = array(
array("server" => "whois.verisign-grs.net", "extName" => "com"),
array("server" => "whois.verisign-grs.net", "extName" => "com.tr"),
array("server" => "whois.verisign-grs.net", "extName" => "tv"),
array("server" => "whois.verisign-grs.net", "extName" => "net"),
array("server" => "whois.verisign-grs.net", "extName" => "gen.tr"),
array("server" => "whois.verisign-grs.net", "extName" => "de"),
array("server" => "whois.verisign-grs.net", "extName" => "org"),
);
?>
Форма:
<form method="post">
<?php
foreach ($extList as $key => $value) {
?>
<span> <input type="checkbox" name="ext[]"
value="<?= $value["extName"] ?>"> <?= $value["extName"] ?>
<?php
}
?>
<input type="submit" name="submit">
</form>
Результат:
<?php
if(count($_POST) > 0){
$extAndServer = array(); // this line will solve your problem
for ($i = 0; $i < count($_POST["ext"]); $i ) {
$list = array(
"extName" => $_POST["ext"][$i],
"server" => $extList[$i]["server"]
);
array_push($extAndServer, $list);
}
print_r($extAndServer);
}
?>