2010-01-21 1 views
2

Возможно ли создать динамическую переменную в PHP на основе значения, которое поступает из базы данных mysql?Создание переменных переменных из значений MySQL

Я имею в виду,

сказать, у меня есть поле в MySQL State

Когда я прочитал значение в PHP с помощью row['State'] из базы данных, и если я получаю значение как Alabama, я хочу, чтобы иметь переменную созданный как $Alabama_count, и я инициализирую до 0 или 1.

Спасибо.

ответ

3

Существует более простое решение. Вместо создания чего-то, называемого $ Alabama_count, вы можете создать это очень легко: $count['Alabama'], т. Е. $count[$row['State']].

+1

Я никогда не думал о хорошем месте для использования переменных переменных, где ассоциативный массив не был бы лучше. Хотя вам нужно сказать: $ count [$ row ['State']] (отсутствует $ в строке) – Johrn

+0

@Johnr: Да, я согласен. Спасибо за примечание. Я исправил это сейчас. – Aishwar

0

Похоже, вы хотите использовать переменные переменные, что-то вроде этого?

$var_name = "{$row['State']}_count"; 
$$var_name = 1; 
1

Вы можете сделать ${$row['State']} если $row['State'] является Alabama это то же самое, как делать $Alabama.

Аналогично вы можете сделать то же самое _count:

${$row['State'] . '_count'} = 0; // $Alabama_count = 0; 
${$row['State'] . '_count'}++; // $Alabama_count++; // $Alabama_count = 1; 
0

Вы можете использовать для этого переменные переменных, используя символ $ дважды: например:

$variable = 'Some_text'; 
$$name = 123; 
echo $Some_text; 
//this will output 123 
+0

благодарю вас за все ваши ответы. – JPro

0

Не совсем уверен, если это то, что вы хотите, но посмотрите на Variable variables в руководстве по php

0

Вы можете создать переменную $ {$ row ['State'] .'_ count '} и установить ее значение. Однако я не уверен, насколько это целесообразно. Вы не знаете, какие переменные вам останутся.

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

  • Нет связанных вопросов^_^