PHP运行时阵列创建

时间:2015-11-30 22:15:58

标签: php

有时我们需要在我们事先不知道维度时按需创建多维数组。假设我有以下代码,我想在' _'的存在下创建一个多维数组。在给定的字符串中。这个给定的字符串是$ table,我想从中构建一个多维数组。

$table='Customer_Contacts';
$fi='City';
$fv='New York';    
$explodedTableName=explode('_', $table);
$tobeEvaluatedArray="\$association";
foreach($explodedTableName as $etn){
   $tobeEvaluatedArray.="['$etn']";
}
$tobeEvaluatedArray.="['$fi']=$fv";
eval($tobeEvaluatedArray);

现在我想得到一个数组,即

$association['Customer']['Contacts']['City']='New York';

1 个答案:

答案 0 :(得分:2)

我认为你想要这种动态。这应该工作,并给你一个自定义的想法:

$table = 'Customer_Contacts';

$keys = explode('_', $table);
$keys[] = 'City';
$value = 'New York';

$temp = &$result;

foreach($keys as $key) {
    $temp =& $temp[$key];
}
$temp = $value;

print_r($result);