php for 循环 post
php for loop in post
我在 php 代码中制作了一个 post。
我想用 php 来做。不适用于 multi post。为什么不行,我找不到哪里出错了..
<?php
$e = $_POST['e'];
$b = $_POST['b'];
$y= $_POST['y'];
$a = $_POST['a'];
$e1 = $_POST['e1'];
$b1 = $_POST['b1'];
$y1= $_POST['y1'];
$a1 = $_POST['a1'];
for ($i=1; $i < 10 ; $i++) {
if (!empty($a.$i)) {
$package.$i['Description'] = 'nailce';
$packaging.$i['Code'] = '02';
$packaging.$i['Description'] = '';
$package.$i['Packaging'] = $packaging.$i;
$unit.$i['Code'] = 'CM';
$unit.$i['Description'] = 'Centimeter';
$dimensions.$i['UnitOfMeasurement'] = $unit.$i;
$dimensions.$i['Length'] = $e.$i;
$dimensions.$i['Width'] = $b.$i;
$dimensions.$i['Height'] = $y.$i;
$package.$i['Dimensions'] = $dimensions.$i;
$unit22['Code'] = 'KGS';
$unit22['Description'] = 'Kg';
$packageweight.$i['UnitOfMeasurement'] = $unit22;
$packageweight.$i['Weight'] = $a.$i;
$package.$i['PackageWeight'] = $packageweight.$i;
$shipment['Package'][$i] = $package.$i;
}
}
?>
我认为您使用了错误的命名方式variable variables。您可以使用以下代码:
<?php
$e = $_POST['e'];
$b = $_POST['b'];
$y= $_POST['y'];
$a = $_POST['a'];
$e1 = $_POST['e1'];
$b1 = $_POST['b1'];
$y1= $_POST['y1'];
$a1 = $_POST['a1'];
for ($i=1; $i < 10 ; $i++) {
$aVarName = 'a' . $i;
if (!empty($$aVarName)) {
$package = 'package' . $i;
$packaging = 'packaging' . $i;
$unit = 'unit' . $i;
$dimensions = 'dimensions' . $i;
$packageweight= 'packageweight' . $i;
$bVarName = 'b' . $i;
$eVarName = 'e' . $i;
$yVarName = 'y' . $i;
$$package['Description'] = 'nailce';
$$packaging['Code'] = '02';
$$packaging['Description'] = '';
$$package['Packaging'] = $$packaging;
$$unit['Code'] = 'CM';
$$unit['Description'] = 'Centimeter';
$$dimensions['UnitOfMeasurement'] = $$unit;
$$dimensions['Length'] = $$eVarName;
$$dimensions['Width'] = $$bVarName;
$$dimensions['Height'] = $$yVarName;
$$package['Dimensions'] = $$dimensions;
$unit22['Code'] = 'KGS';
$unit22['Description'] = 'Kg';
$$packageweight['UnitOfMeasurement'] = $unit22;
$$packageweight['Weight'] = $$aVarName;
$$package['PackageWeight'] = $$packageweight;
$shipment['Package'][$i] = $$package;
}
}
我在 php 代码中制作了一个 post。 我想用 php 来做。不适用于 multi post。为什么不行,我找不到哪里出错了..
<?php
$e = $_POST['e'];
$b = $_POST['b'];
$y= $_POST['y'];
$a = $_POST['a'];
$e1 = $_POST['e1'];
$b1 = $_POST['b1'];
$y1= $_POST['y1'];
$a1 = $_POST['a1'];
for ($i=1; $i < 10 ; $i++) {
if (!empty($a.$i)) {
$package.$i['Description'] = 'nailce';
$packaging.$i['Code'] = '02';
$packaging.$i['Description'] = '';
$package.$i['Packaging'] = $packaging.$i;
$unit.$i['Code'] = 'CM';
$unit.$i['Description'] = 'Centimeter';
$dimensions.$i['UnitOfMeasurement'] = $unit.$i;
$dimensions.$i['Length'] = $e.$i;
$dimensions.$i['Width'] = $b.$i;
$dimensions.$i['Height'] = $y.$i;
$package.$i['Dimensions'] = $dimensions.$i;
$unit22['Code'] = 'KGS';
$unit22['Description'] = 'Kg';
$packageweight.$i['UnitOfMeasurement'] = $unit22;
$packageweight.$i['Weight'] = $a.$i;
$package.$i['PackageWeight'] = $packageweight.$i;
$shipment['Package'][$i] = $package.$i;
}
}
?>
我认为您使用了错误的命名方式variable variables。您可以使用以下代码:
<?php
$e = $_POST['e'];
$b = $_POST['b'];
$y= $_POST['y'];
$a = $_POST['a'];
$e1 = $_POST['e1'];
$b1 = $_POST['b1'];
$y1= $_POST['y1'];
$a1 = $_POST['a1'];
for ($i=1; $i < 10 ; $i++) {
$aVarName = 'a' . $i;
if (!empty($$aVarName)) {
$package = 'package' . $i;
$packaging = 'packaging' . $i;
$unit = 'unit' . $i;
$dimensions = 'dimensions' . $i;
$packageweight= 'packageweight' . $i;
$bVarName = 'b' . $i;
$eVarName = 'e' . $i;
$yVarName = 'y' . $i;
$$package['Description'] = 'nailce';
$$packaging['Code'] = '02';
$$packaging['Description'] = '';
$$package['Packaging'] = $$packaging;
$$unit['Code'] = 'CM';
$$unit['Description'] = 'Centimeter';
$$dimensions['UnitOfMeasurement'] = $$unit;
$$dimensions['Length'] = $$eVarName;
$$dimensions['Width'] = $$bVarName;
$$dimensions['Height'] = $$yVarName;
$$package['Dimensions'] = $$dimensions;
$unit22['Code'] = 'KGS';
$unit22['Description'] = 'Kg';
$$packageweight['UnitOfMeasurement'] = $unit22;
$$packageweight['Weight'] = $$aVarName;
$$package['PackageWeight'] = $$packageweight;
$shipment['Package'][$i] = $$package;
}
}