Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP多维数组转换为表单_Php_Arrays_Multidimensional Array - Fatal编程技术网

PHP多维数组转换为表单

PHP多维数组转换为表单,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,很抱歉问了这个愚蠢的问题,因为magento,我的头都晕过去了 问题是: 我这里有一个数组: array(2) { [0]=> array(3) { ["product_name"]=> string(12) "Test Product" ["product_qty"]=> string(6) "2.0000" ["product_price"]=> string(7) "15.0000" } [1]=>

很抱歉问了这个愚蠢的问题,因为magento,我的头都晕过去了

问题是:

我这里有一个数组:

array(2) {
  [0]=>
  array(3) {
    ["product_name"]=>
    string(12) "Test Product"
    ["product_qty"]=>
    string(6) "2.0000"
    ["product_price"]=>
    string(7) "15.0000"
  }
  [1]=>
  array(3) {
    ["product_name"]=>
    string(6) "Test 2"
    ["product_qty"]=>
    string(6) "3.0000"
    ["product_price"]=>
    string(7) "25.0000"
  }
}
如何将其转换为:

<input type="hidden" name="product1" value="Test Product" />
<input type="hidden" name="amount1" value="2" />
<input type="hidden" name="qty1" value="15" />
<input type="hidden" name="product2" value="Test 2" />
<input type="hidden" name="amount2" value="3" />
<input type="hidden" name="qty2" value="25" />

谢谢你的回答。

试试这个:

foreach($array as $pKey=>$product){
   foreach($product as $key=>$option){
       echo "<input type='hidden' name='{$key}_{$pKey}' value='$option'/>\n";
   }
}
foreach($pKey=>$product的数组){
foreach($key=>$option的产品){
回音“\n”;
}
}
它将为您提供如下结果:

<input type='hidden' name='product_name_0' value='Test Product'/>
<input type='hidden' name='product_qty_0' value='2.0000'/>
<input type='hidden' name='product_price_0' value='15.0000'/>
<input type='hidden' name='product_name_1' value='Test 2'/>
<input type='hidden' name='product_qty_1' value='3.0000'/>
<input type='hidden' name='product_price_1' value='25.0000'/>

下面是一个演示:

foreach($i=>$product的数组){
foreach($key=>$value的产品){
$name=$key.$i;
回声“;
}
}

即使是简单的也应该包括适当的消毒。我们能举的例子越多,说明如何正确地做到这一点,我们的境况就越好

foreach ($array as $i => $item) {
    foreach ($item as $k => $v) {
       $name = htmlspecialchars($k . ($i + 1));
       $value = htmlspecialchars($v);
       echo "<input type=\"hidden\" name=\"$name\" value=\"$value\" />";
    }
}
foreach($i=>$item的数组){
foreach($k=>v的项目){
$name=htmlspecialchars($k($i+1));
$value=htmlspecialchars($v);
回声“;
}
}
$arrayLen=count($array);
对于($i=0;$i<$arrayLen;$i++){
foreach($array[$i]作为$field=>$value){
printf(“,preg\u replace(“/^product/”,“,$字段),$i+1,$value);
}
}
我会给你

<input type='hidden' name='name1' value='Test Product'/>
<input type='hidden' name='qty1' value='2.0000'/>
<input type='hidden' name='price1' value='15.0000'/>
<input type='hidden' name='name2' value='Test 2'/>
<input type='hidden' name='qty2' value='3.0000'/>
<input type='hidden' name='price2' value='25.0000'/>

尝试以下方法: 转换为HTML代码

<?php foreach ($allData as $data): $id=1; ?>

<input type="hidden" name="product<?php echo $id; ?>" value="<?php echo $data['product_name']; ?>" />
<input type="hidden" name="amount<?php echo $id; ?>" value="<?php echo $data['product_qty']; ?>" />
<input type="hidden" name="qty<?php echo $id; ?>" value="<?php echo $data['product_price']; ?>" />

<?php $id++; endforeach; ?>


实际上,这只是在for循环中回显数组内容的问题。这个问题绝非白痴。我一直计划自己问这个问题。从技术上讲,他们还想要product_name->product#、product_qty->qty#和product_price->amount#。为什么要混合使用
for
foreach
?为什么不执行2
foreach
循环?要获取计数器,不知道可以将foreach=>与非关联数组一起使用。
<input type='hidden' name='name1' value='Test Product'/>
<input type='hidden' name='qty1' value='2.0000'/>
<input type='hidden' name='price1' value='15.0000'/>
<input type='hidden' name='name2' value='Test 2'/>
<input type='hidden' name='qty2' value='3.0000'/>
<input type='hidden' name='price2' value='25.0000'/>
<?php foreach ($allData as $data): $id=1; ?>

<input type="hidden" name="product<?php echo $id; ?>" value="<?php echo $data['product_name']; ?>" />
<input type="hidden" name="amount<?php echo $id; ?>" value="<?php echo $data['product_qty']; ?>" />
<input type="hidden" name="qty<?php echo $id; ?>" value="<?php echo $data['product_price']; ?>" />

<?php $id++; endforeach; ?>
$allData = array(
  array( 
    "product_name"=> "Test Product",
    "product_qty"=>"2.0000",
    "product_price"=>"15.0000",
  ),
  array(
    "product_name"=>"Test 2",
    "product_qty"=>"3.0000",
    "product_price"=>"25.0000",
  ),
);
?>

<?php foreach ($allData as $data): $id=1; ?>

<input type="text" name="product<?php echo $id; ?>" value="<?php echo $data['product_name']; ?>" />
<input type="text" name="amount<?php echo $id; ?>" value="<?php echo $data['product_qty']; ?>" />
<input type="text" name="qty<?php echo $id; ?>" value="<?php echo $data['product_price']; ?>" />

<?php $id++; endforeach; ?>