我有一个数组:
Array
(
[0] => Item
[1] => Repaired Wattles
[2] => Types
[3] => Non-Wire
[4] => Estimated Qty
[5] => 124
[6] => Actual Qty
[7] => 124
[8] => Upload File
[9] => example.jpg
)
我需要将下一个值添加到上一个值。我需要它看起来像这样
Array
(
[Item] => Repaired Wattles
[Types] => Non-Wire
[Estimated Qty] => 124
[Actual Qty] => 124
[Upload File] => example.jpg
)
我有类似的东西:
$array = array(
foreach($stri as $string) {
$stri[] => $stri[$val]
$val = $string + 1;
);
我知道我肯定是错的。但就在这里,我已经陷入困境,并且不知道如何让我的代码按照我的意愿运行。
答案 0 :(得分:2)
在每个循环中编写简单的for
循环并将计数器递增2:
$result = array();
for ($i = 0; $i < count($arr); $i += 2) { // increment counter +2
if (isset($arr[$i]) && isset($arr[$i+1])) { // to make sure if both indexes exists in array
$result[$arr[$i]] = $arr[$i+1];
}
}
用法示例:
$arr = array('aaa', 'bbb', 'ccc', 'ddd', 'eee', 'fff');
// ...
var_dump($result);
array(3) {
'aaa' =>
string(3) "bbb"
'ccc' =>
string(3) "ddd"
'eee' =>
string(3) "fff"
}
$arr = array('aaa', 'bbb', 'ccc', 'ddd', 'eee');
// ...
var_dump($result);
array(2) {
'aaa' =>
string(3) "bbb"
'ccc' =>
string(3) "ddd"
}
答案 1 :(得分:1)
这应该适合你:
首先将array_chunk()
数组放入2.的块中。然后使用array_column()
将0列作为键,将第1列作为值。像这样:
$arr = array_column(array_chunk($arr, 2), 1, 0);
答案 2 :(得分:1)
您可以尝试array_combine
以及array_column
和array_chunk
。
注意:如果数组完全具有偶数个值
,这将起作用$arr = Array('Item','Repaired Wattles','Types','Non-Wire','Estimated Qty',124,'Actual Qty',124,'Upload File','example.jpg');
$final = array_combine(array_column(array_chunk($arr, 2),0),array_column(array_chunk($arr, 2),1));
print_r($final);
答案 3 :(得分:1)
使用以下代码
{{1}}
答案 4 :(得分:0)
$a = array(0 => 'Item',
1 => 'Repaired',
2 => 'Types',
3 => 'Non',
4=> 'Estimated',
5 => '124',
6 => 'Actual',
7 => '124',
8 => 'Upload',
9 => 'example'
);
echo "<pre>";
print_r($a);
$a_len = count($a);
$fnl = array();
$i = 0;
while($i<$a_len){
$fnl[$a[$i]] = $a[++$i];
$i++;
}
print_r($fnl);