我在查看大于一维的数组时遇到问题。我对数据库表进行了查询并将数据存储在数组中,然后使用mysqli_fetch_array()创建另一个数组。现在这个数组有表名和表数据,但我无法弄清楚如何A)只访问数据和B)可视化实际发生的事情。
这是print_r($ keystore);
的输出Array ( [0] => Array ( [0] => 4 [key_projects] => 4 ) [1] => Array ( [0] => 26 [key_projects] => 26 ) [2] => Array ( [0] => 25 [key_projects] => 25 ) [3] => Array ( [0] => 52 [key_projects] => 52 ) [4] => Array ( [0] => 53 [key_projects] => 53 ) )
这到底发生了什么?
答案 0 :(得分:0)
Array
(
[0] => Array ( [0] => 4 [key_projects] => 4 )
[1] => Array ( [0] => 26 [key_projects] => 26 )
[2] => Array ( [0] => 25 [key_projects] => 25 )
[3] => Array ( [0] => 52 [key_projects] => 52 )
[4] => Array ( [0] => 53 [key_projects] => 53 )
)
我添加了一些空格,以使嵌套数组的结构更加清晰。除了添加空格和换行符之外,我没有改变任何内容。
外部数组包含从[0]
到[4]
的五个条目。这些条目中的每一个都代表SQL结果集中的一行。
for ($keystore as $row) {
print_r($row[0]);
print_r($row['key_projects']);
}
您会注意到每个$row
中的两个条目都是多余的。它们都具有相同的值(例如最终条目为53)。发生的事情是返回的数据由列号(0)和列名(key_projects)索引。您可以使用您选择的任何一个,数字或名称来访问这些值:$row[0]
或$row['key_projects']
。
答案 1 :(得分:0)
有时在开发/调试具有数组的代码时有用,在print_r()命令之前和之后插入HTML $ join -t, -1 1 -2 2 file1 <(sort -t, -k2n file2) | cut -d, -f3
Y
X
标记:
<pre>
这将强制输出格式类似于John Kugelman的答案(受CSS规则约束)。根据经验,我发现echo "<pre>";
print_r($keystore);
echo "</pre>";
的每次迭代都会缩进,当查看纯文本时(即没有HTML)