2016-11-22 68 views
-2

我有一個關聯數組作爲PHP數組的鍵作爲第n個值

$array = Array([0]=>a[1]=>b[2]=c[3]=>d); 

我需要從這個數組,其中所述第一密鑰變爲建立一個數組,並且值轉換成b &第二密鑰成爲c和值變成d。 輸出應該是:

$finalarray = Array([a]=>b,[c]=>d); 

我已經試過這下面的代碼:

foreach($array as $key=>$value){ 
$arr[$value] = array_slice($array, 1, 1); 
$finalarray[] = $arr; 
} 

請幫助我!

+0

好了,什麼問題你有沒有這樣做呢? –

+0

如何做到這一點? –

+0

後,你已經嘗試 – adi

回答

6

最好的辦法是你的第一個陣列上的循環,但跳過兩個一個值:

$array = array("a", "b", "c", "d"); 
$finalArray = array(); 

for ($i = 0; $i < count($array); $i+=2) { 
    $finalArray[$array[$i]] = $array[$i + 1]; 
} 
1

This可以幫助:

$a = array('a','b','c','d'); $b = array(); 
$length = count(a)%2 ? count($a)-1 : count($a); 
for($i=0; $i<$length; $i++){ 
    $b[$a[$i]] = $a[++$i]; 
} 
var_dump($a,$b); 
1

變化不大代碼:

$i=0; 
foreach($array as $key=>$value){ 
$value_2=$value++; 
if($i%2==0) 
$arr[$value_2] =$value; 
$i++; 
//$finalarray[] = $arr; 
} 
echo"<pre>"; 
print_r($arr); 
+0

'$ value'步進不是一個指針。而且你不想亂用任何語言的指針,特別是PHP。 – Cunning

+1

它會給OP所需的輸出 – ManiMuthuPandi

0

如果陣列是關聯的,下面的代碼可以幫助你

<?php 
    $array = array(0=>'a',1=>'b',2=>'c',3=>'d'); 
    $new_array = array(); 
    for($i=0;$i<count($array);$i+=2) 
    { 
    $new_array[$array[$i]] = $array[$i+1]; 
    } 
    print_r($new_array); 
?> 
相關問題