[英]PHP wrong foreach code
我做錯了什么,foreach 代碼寫在下面,但它似乎不起作用:
$custom = "8-1,1-1,4-1,";
foreach ($custom as $each_item) {
$id = $each_item['id'];
$quantity = $each_item['quantity'];
$sql3 = mysql_query("SELECT * FROM products WHERE id='$id' LIMIT 1");
while ($row = mysql_fetch_array($sql3)) {
$product_name = $row["product_name"];
$price = $row["price"];
} }
我必須在此 foreach 代碼中更改什么? 謝謝
foreach
旨在用於迭代array
但您將它與string
一起使用。
所以它不適合你。
第一行,custom is not a variable (copy and paste error)
$custom
然后您使用 can 數組運算符拆分字符串,您需要先使用以下方法拆分該字符串:
$custompieces = explode(",", $custom);
然后,您已將 $custom 聲明為 $each_item,但您似乎正在嘗試訪問不存在的子數組。 $each_item[id] 和 $each_item[quantity] 沒有在任何地方定義。 我猜您正在嘗試將 8-1 拆分為 id 數量,在這種情況下,您需要實際定義那些才能使用它們。
$pieces = explode("-", $each_item);
$id = $pieces[0];
$quantity = $pieces[1];
所以你的最終代碼需要是:
$custom = "8-1,1-1,4-1,";
$custompieces = explode(",", $custom);
foreach ($custompieces as $each_item) {
$pieces = explode("-", $each_item);
$id = $pieces[0];
$quantity = $pieces[1];
$sql3 = mysql_query("SELECT * FROM products WHERE id='$id' LIMIT 1");
while ($row = mysql_fetch_array($sql3)) {
$product_name = $row["product_name"];
$price = $row["price"];
} }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.