2017-10-04 29 views
1

我想要創建從參數創建多維數組的函數,第二個參數應該保存爲值。預期結果低於:使用鍵陣列創建多維數組

Array 
(
    [first] => Array 
     (
      [second] => Array 
       (
        [last] => value 
       ) 

     ) 

) 

我走到這一步:

$array = ['first', 'second', 'last']; 

    function multiArray($array, $newArray = [], $valueToSave) 
    { 
     if($array) { 
      $value = current($array); 
      $key = array_search($value, $array); 
      unset($array[ $key ]); 

      $newArray[$value] = []; 
      return multiArray($array, $newArray, $valueToSave); 
     } else { 
      return $newArray; 
     } 
    } 

任何提示,我應該怎麼改變或做?

回答

1

你可以試試這個最簡單的。

Try this code snippet here

$array = ['first', 'second', "third", "fourth",'last']; 
$value = "someValue"; 

$result = array(); 
$count = count($array); 
for($x=$count-1;$x>=0;$x--) 
{ 
    if($x==$count-1): 
     $result[$array[$x]]=$value;//setting value for last index 
    else: 
     $tempArray = $result;//storing value temporarily 
     $result = array();//creating empty array 
     $result[$array[$x]] = $tempArray;//overriting values. 
    endif; 
} 
print_r($result); 
+1

完美的作品。謝謝。 – Jonuux

+0

@Jonuux歡迎朋友..很高興幫助你.... :) –