看板 PHP 關於我們 聯絡資訊
小弟想請教一個問題,程式如下: $TestArray = ['test1','test2','test3']; 有沒有辦法以TestArray裡的各個值產生出一個多維陣列 EX:$ResultArray['test1']['test2']['test3']; 如果$TestArray = ['test1','test2','test3','test4']; 那產生出的陣列就為 $ResultArray['test1']['test2']['test3']['test4']; 還麻煩各位大大解惑了 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.132.179.20 ※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1432024592.A.C0F.html
localhost: 用while 05/19 16:47
localhost: while (list($Key, $Value) = each($TestArray)) { 05/19 17:00
localhost: $ResultArray[$TestArray[$Key]]=$TestArray[$Key]; 05/19 17:01
localhost: } 05/19 17:01
localhost: 不知道是不是你要的結果 05/19 17:03
不是欸,還是感謝你啦! 我想要的是把一維陣列內的值產生出另一個多維陣列 有想過用遞迴,但.....腦袋有點卡住了 ※ 編輯: Prestense (220.132.179.20), 05/19/2015 17:10:17 ※ 編輯: Prestense (220.132.179.20), 05/19/2015 17:13:54
localhost: 不過php 有多維陣列嗎? 05/19 17:20
localhost: array($TestArray[$Key]; 改成這樣勒 05/19 17:23
localhost: php的多維陣列可能跟你想的不太一樣 只是陣列裡面可以 05/19 17:23
localhost: 放陣列而已 05/19 17:23
localhost: array($TestArray[$Key]);少一個括號 看裡面的值要放啥 05/19 17:28
wenwfy: if(haskey) array=array(key); f(array[key][], key+1); 05/19 23:35
wenwfy: 之類的XD 沒驗證 05/19 23:35
xdraculax: foreach($tests as $key){$a[$key] = array(); $a =& $ 05/20 01:12
xdraculax: a[$key];} 05/20 01:12
經過昨天晚上的放鬆 今天早上腦袋終於清醒了一點 自問自答一下 以下為我的程式: function MutiArray(&ResultArray,$KeyArray,$Value = '') { if($Value != '') { $TempKey = array_pop($KeyArray); $ResultArray = array($TempKey => $Value); } if(!empty($KeyArray)) { $TempKey = array_pop($KeyArray); $ResultArray = array($TempKey => $ResultArray); MutiArray($ResultArray,$KeyArray); } return $ResultArray; } ※ 編輯: Prestense (220.132.179.20), 05/20/2015 13:04:58