我的PHP代码有以下响应。
Array
(
[customer] => 402
[carat] => Array
(
[0] => 6
[1] => 5
)
[units] => Array
(
[0] => grams
[1] => dwt
[2] => dwt
)
[weight] => Array
(
[0] => 5
[1] => 3
[2] => 6
)
[our_payout] => Array
(
[0] => 15
[1] => 9
[2] => 60
)
[sale_payout] => Array
(
[0] => 18
[1] => 12
[2] => 180
)
[hidden_carat] => Array
(
[0] => 6
[1] => 5
[2] =>
)
[hidden_unit] => Array
(
[0] => 1
[1] => 2
[2] => 2
)
[carat_scale_price] => Array
(
[0] =>
[1] =>
[2] =>
)
[sales_id] => Array
(
[0] =>
[1] =>
[2] =>
)
[currency_rate_id] => Array
(
[0] =>
[1] =>
[2] =>
)
[gold_price_id] => Array
(
[0] =>
[1] =>
[2] =>
)
[taget_percentage] =>
[reference] => 0
[notes] =>
[unit] => 0
[customer_id] => 402
[total_items] => 2
[submit] =>
)
我希望example [0] => grams
加入[0] => 5 [0] => 16
,依此类推。我怎么能这样做?
答案 0 :(得分:1)
我和史蒂夫在一起,我不确定你要求的是什么。看起来你想要转置那个矩阵,但仅限于某些键?假设上面的原始数组位于变量$ arr中,这里可能会有你想要的东西:
$lineItems = array();
$i = 0;
$allLineItemsHaveI = true;
while($allLineItemsHaveI) {
$lineItems[$i] = array();
foreach($arr as $key => $subArr) {
if(array_key_exists($i, $subArr)) {
$lineItems[$i][$key] = $subArr[$i];
} else {
$allLineItemsHaveI = false;
}
}
$i++;
}
array_pop($lineItems);
这是输出:
Array
(
[0] => Array
(
[carat] => 6
[units] => grams
[weight] => 5
[our_payout] => 15
[sale_payout] => 18
[hidden_carat] => 6
)
[1] => Array
(
[carat] => 5
[units] => dwt
[weight] => 3
[our_payout] => 9
[sale_payout] => 12
[hidden_carat] => 5
)
)