2015-11-30 5 views
2

Когда-нибудь нам нужно создать многомерный массив по требованию, если мы заранее не знаем размер. Предположим, у меня есть следующий код, где мне нравится создавать многомерный массив при наличии «_» в данной строке. Здесь данная строка представляет собой таблицу $, из которой мне нравится строить многомерный массив.Создание временного массива PHP

$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'; 
+0

Вы читали о [как создавать массивы с PHP] (http://php.net/manual/en/language.types.array.php) ? –

+0

Документ мне не помогает. – observo

+0

Ответ почти очень хороший. – observo

ответ

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); 
Смежные вопросы