I have an array:
Code: Select all
<?php
$aTest = array('level1','level2','level3','level4');Code: Select all
<?php
$aTest2['level1']['level2']['level3']['level4'] = array();
?>Moderator: General Moderators
Code: Select all
<?php
$aTest = array('level1','level2','level3','level4');Code: Select all
<?php
$aTest2['level1']['level2']['level3']['level4'] = array();
?>Code: Select all
$aTest = array('level1' => array('level2' => array('level3' => array('level4' => array()))));That would produce what I'm trying to do however, it doesn't answer the question of how do I go from :TheMoose wrote:Like this?Code: Select all
$aTest = array('level1' => array('level2' => array('level3' => array('level4' => array()))));
Code: Select all
$aTest = array('level1','level2','level3','level4');Code: Select all
$aTest2['level1']['level2']['level3']['level4'] = array();Code: Select all
$aTest = array('level1', 'level2', 'level3', 'level4');
$aTest2 = array();
$str = "$" . "aTest2";
for($i=0;$i<count($aTest);$i++) {
$str .= "['" . $aTest[$i] . "']";
}
$str .= " = array();";
eval($str);Code: Select all
$in = array('level1', 'level2', 'level3', 'level4','');
function storeInto($a) {
$aLast = count($a) - 1;
$result = array($a[$aLast]);
for($i=$aLast-1;$i>=0;$i--) {
$result = array($a[$i] => $result);
}
return $result;
}
$out = storeInto($in);
print_r($out);Code: Select all
Array
(
[level1] => Array
(
[level2] => Array
(
[level3] => Array
(
[level4] => Array
(
[0] =>
)
)
)
)
)