作者Prestense (dreamer)
看板PHP
标题[请益] 动态产生多维阵列
时间Tue May 19 16:36:30 2015
小弟想请教一个问题,程式如下:
$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://webptt.com/cn.aspx?n=bbs/PHP/M.1432024592.A.C0F.html
1F:推 localhost: 用while 05/19 16:47
2F:推 localhost: while (list($Key, $Value) = each($TestArray)) { 05/19 17:00
3F:→ localhost: $ResultArray[$TestArray[$Key]]=$TestArray[$Key]; 05/19 17:01
4F:→ localhost: } 05/19 17:01
5F:推 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
6F:推 localhost: 不过php 有多维阵列吗? 05/19 17:20
7F:推 localhost: array($TestArray[$Key]; 改成这样勒 05/19 17:23
8F:→ localhost: php的多维阵列可能跟你想的不太一样 只是阵列里面可以 05/19 17:23
9F:→ localhost: 放阵列而已 05/19 17:23
10F:推 localhost: array($TestArray[$Key]);少一个括号 看里面的值要放啥 05/19 17:28
11F:→ wenwfy: if(haskey) array=array(key); f(array[key][], key+1); 05/19 23:35
12F:→ wenwfy: 之类的XD 没验证 05/19 23:35
13F:推 xdraculax: foreach($tests as $key){$a[$key] = array(); $a =& $ 05/20 01:12
14F:→ 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