我正在尝试创建类似这样的东西:
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)
发布于 2015-03-10 17:01:09
您是否尝试过:
'Column1: ' . $val['column1']. ', Column2: '. $val['column2']
从SQL中提取的列名应该是数组的键,值应该是值。这可能取决于您用来查询数据库的类。
编辑到上一页:
由于返回的数组是关联的,因此在foreach循环中,尝试如下所示:
foreach($array as $name => $val) {
print $name . ' : ' . $val;
}
发布于 2015-03-10 17:10:26
在您的示例中,$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在注释中提供的示例数据。
https://stackoverflow.com/questions/28969598
复制相似问题