我收到以下错误:
注意:第37行的数组到字符串转换 0:数组
尝试运行以下内容时:
while($allOrders = mysqli_fetch_assoc($result)) {
$orderName = $allOrders["order_name"];
$orderId = $allOrders["id"];
$orders[] = array($orderName => $orderId);
}
foreach ($orders as $orderName1 => $orderId1) {
echo("".$orderName1.": ".$orderId1."");
}
答案 0 :(得分:0)
正如@ Rizier123正确指出的那样,您正试图通过多维数组的顶层foreach ()
。您的MySQLi查询将返回具有嵌入级别数组的$results
数组。如果您在MySQL行和单元格方面考虑$results
,那么您可以通过$results
循环到每个$row
,但也应该循环遍历每个$row
& #39; s $cell
s。
试试这个
foreach ($result as $row => $rowvalue) { // now $row is the row name in the array, and $rowvalue is the individal row array itself
// some work
foreach ($rowvalue as $cell => $cellvalue) { // now $cell is the cell name in the array, and $cellvalue is the cell value string itself
// display your cell names and values
echo "" . $cell . ": " . $cellvalue . "";
}
}
答案 1 :(得分:0)
$all_orders = mysqli_fetch_all($result,MYSQLI_ASSOC);
foreach ($all_orders as $order) {
echo $order["order_name"].": ".$order["id"];
}
答案 2 :(得分:0)
当您尝试将数组的值作为字符串获取时,通常会收到此警告或错误。这说你有多维数组,但是你正在尝试将子数组的值作为字符串。首先尝试使用此命令print_r($variable)
来检查变量的实际输出。你可以像这样循环内部和数组:
foreach($orders as $order)
{
echo $order->orderId. " | ". $order->orderName;
}
当我需要为我的模型使用这个循环时,一定是时间。但通常我在框架中使用ORM。也许我也可以在你的情况下使用!