[英]PHP post array cant be echo
我在html中有代码:
<input type="text" name="product[0][name]" value="name of product 1"/>
<input type="text" name="product[1][name]" value="name of product 2"/>
<input type="text" name="product[2][name]" value="name of product 3"/>
<input type="text" name="product[3][name]" value="name of product 4"/>
我尝试通过$ _POST发送。 当我使用
print_r($_POST['product']);
我有我以前的产品清单:
Array
(
[product] => Array
(
['201'] => Array
(
['name'] => J5313 BEŻOWE
['price'] => 14.99
['quantity'] => 1
['size'] => 36
['product_subtotal'] => 14.99
)
['200'] => Array
(
['name'] => J5313 SZARE
['price'] => 14.99
['quantity'] => 1
['size'] => 37
['product_subtotal'] => 14.99
)
)
)
一切都很好,但是如果我想回显我的数组变量,我有空的vars! 它是我的代码:
foreach($_POST['product'] as $key => $value){
echo "product key: $key, product name: ".$value['name']."";
}
PHP在文档中写了些什么:
product key: 0, product name:
product key: 1, product name:
product key: 2, product name:
product key: 3, product name:
$ key变量不为空,但$ value为空! 我尝试更改$ value var的名称,但不能解决我的问题。 有人知道我必须做什么吗?
由于尚不清楚,根据您的代码,为什么会遇到此问题,因此可以采取一些调试步骤:
显示所有警告
error_reporting(-1);
ini_set('display_errors', 'On');
将这两行添加到脚本中并运行它; 如果有任何明显的问题,例如缺少索引,它将在您的页面中回显警告。
添加更多调试
由于循环可以找到键,因此应该使用var_dump($value);
在循环中找出是否输入了错误(尽管通过显示所有警告可以显示出来)。
foreach($_POST['products'] as $value)
foreach($value as $k => $v)
echo $k." -> ".$v['name'];
尝试这个:
foreach($_POST['product'] as $key => $value){
echo "product key: $key, product name: " . $_POST['product'][$key]['name'];
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.