PHP中如何正确输出product_name?代码输出空白问题求助
解决PHP createOrder函数中product_name输出空白的问题
你代码里访问$products数组的语法有错误,多嵌套了一层中括号,导致无法正确获取product_name值,所以显示空白。
修正后的代码如下:
function createOrder() { echo $_POST['member_name']."<br/>"; echo $_POST['member_email']."<br/>"; echo $_POST['member_phone']."<br/>"; echo $_POST['product_id']."<br/>"; // 修正数组访问语法,去掉多余的中括号 echo $products[$_POST['product_id'] - 1]['product_name']."<br/>"; echo $_POST['quantity']."<br/>"; }
另外还需要注意几个点:
- 确认
$products变量在createOrder函数内部是可访问的,如果它是全局变量,需要在函数开头加上global $products;或者通过参数传递进来。 - 检查
$_POST['product_id']的数值是否符合$products数组的索引规则,确保$_POST['product_id'] - 1是有效的数组下标(比如product_id从1开始,数组索引从0开始的情况是合理的,但如果product_id本身就是0开始的,就不需要减1)。 - 可以临时添加
var_dump($products);来查看数组结构,确认每个元素里确实存在product_name字段。
内容的提问来源于stack exchange,提问作者Programming_Fighter
相关产品推荐
相关产品推荐

