我们说我有这两个以逗号分隔的列表:
$quantity = "5000,10000";
$cost = "2.00,1.00";
然后我爆炸数量来回显出每个列表项:
$quantity_explode = explode(",", $quantity);
foreach($quantity_explode as $quantity_value){
echo $quantity_value . PHP_EOL; //PHP_EOL is same as \n
}
结果是:
5000
10000
但我真正想要展示的是:
5000 2.00
10000 1.00
如何将第二个列表合并到第一个列表中?第2列表的第1个值属于第1个列表的第1个值。第二列表的第二个值属于第一个列表的第二个值。等等。
我不认为它是第一次爆炸后的第二次爆炸和第二次预演(然后做了某种奇怪的合并?)。我是否会在第一个foreach中进行第二次爆炸和预测?
答案 0 :(得分:1)
做类似的事情:
$quantity_explode = explode(",", $quantity);
$cost_explode = explode(",", $cost);
for ($i = 0; $i < count($quantity_explode); $i++) {
echo $quantity_explode[$i] . " " . $cost_explode[$i] . PHP_EOL;
}
假设您可以确定$quantity
中分隔值的数量与$cost
相同,并且$quantity_explode[index]
的数据与$cost_explode[index]
相关联。
答案 1 :(得分:1)
简单,制作第三个数组并将每个字段作为子字段放入该数组中。然后在新阵列上做一个foreach。像这样
$a = [];
for( $i=0; $i<count($quantity); $i++ ){
$a[$i]['quantity'] = $quantity[$i];
$a[$i]['cost'] = $cost[$i];
}
foreach( $a as $k=>$v ){
echo $v['quantity'] . " = " . $v['cost'] . "\n";
}
如果这是一个课程项目 - 你真的应该自己解决。 : - )
答案 2 :(得分:1)
怎么样
$quantity_explode = explode(",", $quantity);
$cost_explode = explode(",", $cost);
for($i=0; $i<count($quantity_explode); $i++)
{
echo $quantity_explode[$i]. ' ' . $cost_explode[$i] . PHP_EOL; //PHP_EOL is same as \n
}
答案 3 :(得分:0)
<?php
$quantity = "5000,10000";
$cost = "2.00,1.00";
$quantity_explode = explode(",", $quantity);
$cost_explode = explode(",", $cost);
for($i=0;$i<count($quantity_explode);$i++){
echo $quantity_value[$i] . "-" . $cost_explode[$i] . PHP_EOL; //PHP_EOL is same as \n
}
答案 4 :(得分:0)
是的,您可以使用嵌套在第一个循环中的另一个foreach()
。或者,如果它们按顺序排列。尝试使用for()
循环:
$qty = explode(',', $quantity);
$c = explode(',', $cost);
for($i=0; $i < count($qty); $i) {
echo "$qty[$i] $c[$i]". PHP_EOF;
}