[英]Creating a Select from a multidimensional array
所以我有一个来自数据库查询的数组,它是这样的:
大批 (
[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”。 我尝试了一些事情,比如创建变量:
$id = "0"; // $id = "[0]";
还是行不通。
在这种情况下,我应该如何在数组中调用数组?
它不起作用,因为您必须使用引号或转义它们。 你可以简单地使用implode()来做到这一点,
<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>
演示: https : //3v4l.org/TATGZ
嗨,欢迎来到 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]'
; 如果您希望值为“johnny”,您可以写"<option value='johnny'>
在 PHP 中,您可以使用“.”连接字符串和变量。 喜欢 :
"<option value='" . $idnameCli[$i][1] . "'> ...
而且在你的情况下,两个变量彼此相邻(这里它们之间有一个空格):
echo "<option value='" . $idnameCli[$i][1] . "'>" . $idnameCli[$i][0] . " " . $idnomCli[$i][1] . "</option>";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.