2017-02-21 4 views
0

Im пытается создать массив из имени переменной. Я хочу получить информацию из таблицы sql и хранить эту информацию в массиве, однако я получаю сообщение об ошибке «не может использовать [] для чтения». Зачем?Создать массив из имени переменной

<?php 
// SQL Selection CurrentProduct Attributes 
$sql = "SELECT * FROM $current_product_name"; 
$result = $conn->query($sql); 
while($row = $result->fetch_assoc()) { 
${current_product_name ._array[]} = $row; // add the row in to the array 
} 
${current_product_name ._length} = count({$current_product_name . _array}); 
?> 

ответ

2

Не позволяйте деревья скрывают лес:

$foo = []; // OK (create empty array with the PHP/5.4+ syntax) 
$foo[] = 10; // OK (append item to array) 
echo $foo[0]; // OK (read one item) 
echo $foo[]; // Error (what could it possibly mean?) 

variable variables обозначения ожидает строки (литералы или переменные):

$current_product_name = 'Jimmy'; 
${$current_product_name . '_array'}[] = 33; 
var_dump($Jimmy_array); 
array(1) { 
    [0]=> 
    int(33) 
} 

сказал, что , ваш подход выглядит потрясающе, чтобы создать неподъемный код. Почему не массив с известным именем?

$products[$current_product_name][] = $row; 
+0

Спасибо! Сначала за ответ, а затем за предложение! –

Смежные вопросы