我正在尝试创建类似以下内容的内容:
Start in table ID "14"
IF the variable is = NOT NULL
print: name:value
jump onto next table entry
repeat until it has happened 21 times.
到目前为止没有运气。我尝试创建一个这样的数组:
$array = $db->queryA('SELECT * FROM items WHERE itemId = 101');
但是我无法以字符串的形式与它进行通信。如果我引用像$name = $array[0]["name"];
这样的值,我可以提取该值。但即使是一个简单的 foreach 循环,如
foreach($array as $val) {
print $val;
}
行不通。谁能帮助我做错了什么?
此外,字符串看起来像这样 var_dump:
array (size=1)
0 =>
array (size=57)
'itemId' => string '101' (length=3)
'name' => string 'Berry' (length=10)
'level' => string '2' (length=1)
'icon' => string 'images/items/101.jpg' (length=20)
'max_qua' => string '0' (length=1)
在您的示例中,$value 是一个数组,每个数组都是键值对中表中的一条记录,其中键是表中的列,值是该记录中该列的值。$array看起来像这样:
$array = [0 =>
['itemId' => '101',
'name' => 'Item Name',
'level' => '2',
'icon' => 'images/items/101.jpg',
'max_qua' => '0'
]
];
在你的循环中,你会想要这样的东西:
foreach($array as $val) {
print $val['itemId'];
}
在我的数组示例中,它将为第一条记录打印"101"。我假设您可能在那里有更多记录,但我将摆脱您在评论中提供的示例。
我希望这有帮助
编辑:我编辑了这个以使用OP在评论中提供的示例数据。
你试过吗:
'Column1: ' . $val['column1']. ', Column2: '. $val['column2']
?
从 SQL 中提取的列名应该是数组的键,值就是值。这可能取决于您用于查询数据库的类。
编辑到上一个:
由于返回的数组是关联的,因此在 foreach 循环中,尝试如下操作:
foreach($array as $name => $val) {
print $name . ' : ' . $val;
}