Создание переменных переменных из значений MySQL - PullRequest
2 голосов
/ 21 января 2010

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

Я имею в виду,

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

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

Спасибо.

Ответы [ 7 ]

3 голосов
/ 21 января 2010

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

1 голос
/ 21 января 2010

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

Точно так же вы можете сделать то же самое с _count:

${$row['State'] . '_count'} = 0; // $Alabama_count = 0;
${$row['State'] . '_count'}++; // $Alabama_count++; // $Alabama_count = 1;
1 голос
/ 21 января 2010
$varname = $row['State'] . '_count';
$$varname = 0; // or 1
0 голосов
/ 21 января 2010

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

0 голосов
/ 21 января 2010

Не совсем уверен, что это то, что вам нужно, но посмотрите на Переменные в руководстве по php

0 голосов
/ 21 января 2010

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

$variable = 'Some_text';
$$name = 123;
echo $Some_text;
//this will output 123
0 голосов
/ 21 января 2010

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

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