数组按密钥PHP CodeIgniter
问题描述:
我有我的PHP代码的以下响应。数组按密钥PHP CodeIgniter
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
等。我怎样才能做到这一点?
答
我与史蒂夫,我不确定你在问什么。它看起来像你想转置矩阵,但只有一些键?这里的东西,可能做你要找什么,假设你上面的原数组是变量$ 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
)
)
此外,检查了这一点: Transposing multidimensional arrays in PHP
我们不完全确定你在问什么?你想要做字符串连接吗? – 2012-07-07 13:07:02