Итак, у меня есть массив из запроса к базе данных, это примерно так:
Множество (
[0] => Array
(
[0] => 1
[1] => Name1
)
[1] => Array
(
[0] => 3
[1] => Name2
)
[2] => Array
(
[0] => 4
[1] => Name3
)
Я пытаюсь создать из этого Select (у него +50 массивов, а не только 2), и я попытался сделать это:
<select name = "client" onchange = "this.form.submit()">
<option value = "" disabled selected>--client--</option>
<?php
for ($i = 0; $i < count($idnameCli); $i++) {
echo "<option value='$idnameCli[$i][1]'>$idnameCli[$i][0] $idnomCli[$i][1] </option>";
}
?>
</select>Проблема в том, что он не принимает второй [ ], поэтому он показывает «Array[0]Array[1]» вместо «3Name2». Я попробовал пару вещей, таких как создание переменных:
$идентификатор = "0"; // $id = "[0]";
До сих пор не работает.
Как мне вызвать массив в массиве в этом случае?






Это не работает, потому что вы должны использовать кавычки или избегать их. Вы можете сделать это, просто используя взорваться (),
<select name = "client" onchange = "this.form.submit()">
<option value = "" disabled selected>--client--</option>
<?php
for ($i = 0; $i < count($idnameCli); $i++) {
echo "<option value='".$idnameCli[$i][1]."'>". implode('',$idnameCli[$i]) ."</option>";
}
?>
</select>
@TraaZ рад, что это вам как-то помогло, удачи :)
Привет и добро пожаловать в Stackoverflow,
Мне было очень трудно прочитать ваш вопрос, поэтому я надеюсь, что понял, чего вы хотите.
<select>
<?php for($i = 0; $i<sizeof($prova); $i++){
echo "<option value=\"".$arr[$i][0]."\">".$arr[$i][0]."-".$arr[$i][1]."</option> ";
} ?>
</select>
Я никогда не использовал «\» в эхо-вызове. Я не уверен, что он делает, но он работает!
В этом случае "\" считает следующий символ частью строки, а не разделителем. В противном случае " завершит строку.
См. руководство : Строковые операторы
Когда вы пишете:
echo "<option value='$idnameCli[$i][1]'> ...
Это похоже на то, что вы хотите установить значение для этой опции, которая является строкой '$idnameCli[$i][1]'; если бы вы хотели, чтобы значение было «джонни», вы бы написали "<option value='johnny'>
В PHP вы объединяете строки и переменные с помощью "." как :
"<option value='" . $idnameCli[$i][1] . "'> ...
А также в вашем случае две переменные рядом друг с другом (здесь с пробелом между ними):
echo "<option value='" . $idnameCli[$i][1] . "'>" . $idnameCli[$i][0] . " " . $idnomCli[$i][1] . "</option>";
Спасибо, очень полезно ^^
Это именно то, что я искал, не знал, что существует implode, который делает его намного чище! Я новичок в php, и я все еще путаюсь с кавычками. Спасибо!