PHP 一個數組操作方法求解
一維數組
array('0'=>'a',1=>'b',2=>'c',3=>'d',4=>'e',5=>'f');
可能很長
我想轉成
array('a'=>'b','c'=>'d','e'=>'f');
這樣子,就是第一個值作為key,第二個值作為value,以此類推,求方法!
------解決思路----------------------
樓主你這樣做,就要保證你的資料必須是偶數的,不然最後肯定有不完整。當你資料是偶數時,就可以進行遍曆
$arr = array('0'=>'a',1=>'b',2=>'c',3=>'d',4=>'e',5=>'f','6'=>'g','7'=>'h');
$i = 0;
$len = count($arr);
$newArr = array();
while($i < $len){
$newArr[$arr[$i]] = $arr[$i+1];
$i += 2;
}
var_dump($newArr);
?>
------解決思路----------------------
把樓上的稍微改了下。。 這樣應該就可以了 不用管奇偶數了
$arr = array('0'=>'a',1=>'b',2=>'c',3=>'d',4=>'e',5=>'f','6'=>'g','7'=>'h','8'=>'i');
$i = 0;
$len = count($arr);
$newArr = array();
while($i < $len){
$newArr[$arr[$i]] = array_key_exists($i+1,$arr)?$arr[$i+1]:null;
$i += 2;
}
var_dump($newArr);
?>
------解決思路----------------------
$a = array('0'=>'a',1=>'b',2=>'c',3=>'d',4=>'e',5=>'f', 'G');
foreach(array_chunk($a, 2) as $t) {
$b[$t[0]] = @$t[1];
}
print_r($b);
Array
(
[a] => b
[c] => d
[e] => f
[G] =>
)