嗨我想用索引值和键值动态创建一个数组。
这里$ head是数组名称,$ values是键值
$head = Array ( [0] => Dis_id [1] => Dis_Desc [2] => Dis_Per [3] => Dis_val )
$values = Array ([0] => Dl-Dis1 [1] => Discount [2] => 7.500 [3] => 26.25 )
Array ([0] => Dl-Dis2 [1] => Discount [2] => 2.500 [3] => 73.13 )
foreach($values as $valu => $key)
{
$value = $value + array($head[$valu]=>$key.",");
}
echo '<pre>';
print_r($value);
输出将为
Array
(
[Dis_id] => Dl-Dis2,
[Dis_Desc] => Discount,
[Dis_Per] => 2.500,
[Dis_val] => 73.13,
)
但我需要的输出如下
Array
(
[Dis_id] => Dl-Dis1,
[Dis_Desc] => Discount,
[Dis_Per] => 7.500,
[Dis_val] => 26.25,
)
Array
(
[Dis_id] => Dl-Dis2,
[Dis_Desc] => Discount,
[Dis_Per] => 2.500,
[Dis_val] => 73.13,
)
我不知道该怎么办请帮帮我
更新以获取我的输出
$values = array(array (0 => 'Dl-Dis1', 1 => 'Discount', 2 => 7.500, 3 => 26.25 ), array (0 => 'Dl-Dis2', 1 => 'Discount', 2 => 2.500, 3 => 73.13 )) ;
谢谢大家
答案 0 :(得分:2)
您可能需要使用array_combine。在循环下,将$head
和值本身组合到它并将其放入新容器中。考虑这个例子:
$head = Array ( 0 => 'Dis_id', 1 => 'Dis_Desc', 2 => 'Dis_Per', 3 => 'Dis_val', );
$values = array(array (0 => 'Dl-Dis1', 1 => 'Discount', 2 => 7.500, 3 => 26.25 ), array (0 => 'Dl-Dis2', 1 => 'Discount', 2 => 2.500, 3 => 73.13 )) ;
$new_values = array();
foreach($values as $value) {
$new_values[] = array_combine($head, $value);
}
答案 1 :(得分:1)
你可以这样做:
$head = array ( 0 => 'Dis_id', 1 => 'Dis_Desc', 2 => 'Dis_Per', 3 => 'Dis_val' );
$values = array(array (0 => 'Dl-Dis1', 1 => 'Discount', 2 => '7.500', 3 => 26.25 ),
array (0 => 'Dl-Dis2', 1 => 'Discount', 2 => 2.500, 3 => 73.13 ));
$result = array();
foreach($values as $value) {
$res = array();
foreach ($value as $key => $val) {
$res[$head[$key]] = $val;
}
$result[] = $res;
}
echo '<pre>';
print_r($result);