我想知道此变量传递为空的原因。
<form action="cart.php" method="POST">
<input style="width:10px; margin-left:9px; " name="price[]" type="checkbox" value="' . $variety['price'].'_'. $variety['variety']. '_'. $product['name'] . ' " /></form>
你能看到$ product ['name']如何在cart.php中提取它的值后打印它的值
提取值
list($aDoor, $variety,$productname) = split('_', $_POST['price']);
$aDoor = array();
$variety = array();
$productname= array();
foreach ($_POST['price'] as $p)
{
list($a, $b,$c) = explode('_', $p);
$aDoor[] = $a;
$variety[] = $b;
$productname[] = $c;
}
现在在foreach循环下面,我怎么能回显一次productname的打印??
答案 0 :(得分:1)
foreach($productname as $name) {
echo $name . '<br />';
}
或者如果您想将产品名称与$aDoor
和$variety
中的其他值相关联,则可以执行以下操作:
foreach($productname as $index => $name) {
echo 'Name: ' . $name . '<br />';
echo 'Variety: ' . $variety[$index] . '<br />';
echo 'Price: ' . $aDoor[$index] . '<br />';
}
修改强>
如果我可以将您的评论意味着$ productname数组中的所有名称都相同,那么您可以这样做:
if(count($productname) > 0) {
echo 'Product Name: ' . $productname[0] . '<br />';
foreach($variety as $index => $name) {
echo $name . ': $' . $aDoor[$index] . '<br />';
}
}
答案 1 :(得分:0)
现在在foreach循环下方,我该怎么办? 回显一下productname的印刷品。?
print_r ($productname);
但是如果你想在循环中看到产品名称的每个值:
foreach ($_POST['price'] as $p)
{
list($a, $b,$c) = explode('_', $p);
$aDoor[] = $a;
$variety[] = $b;
$productname[] = $c;
echo $c . '<br />'; // show product name
}
另外,我没有看到你用php回复这行代码:
<input style="width:10px; margin-left:9px; " name="price[]" type="checkbox" value="' . $variety['price'].'_'. $variety['variety']. '_'. $product['name'] . ' " /></form>
在这种情况下,这不是如何在上面的行中显示值:
value="' . $variety['price'].'_'. $variety['variety']. '_'. $product['name'] . ' "
而你需要将它包装在php标签中:
value="<?=$variety['price'].'_'. $variety['variety']. '_'. $product['name']?>"
答案 2 :(得分:0)
正如我在另一个问题中所述,你不能在数组上使用split()。你迫使PHP将$ _POST ['price']作为一个数组,在你的表单中命名为“price []”。你在阵列上分裂的时候:
$arr = array('a', 'b', 'c');
list($a, $b, $c) = split($arr);
您最终得到以下信息:
$a = 'Array';
$b = NULL;
$c = NULL;
您必须执行以下操作:
list($aDoor, $variety,$productname) = explode('_', $_POST['price'][0]);
^^^ (note the array notation)
您还没有在提取条件中创建$ product变量。您正在创建$ productname数组,但$ productname与$ product ['name']
不同