Слияние переменных - PullRequest
       7

Слияние переменных

1 голос
/ 05 августа 2010

У нас есть $id и $title переменные, которые меняются каждый раз.

Для каждого $id мы должны создать новую переменную $temp_title_%id% и присвоить ей значение $title.

Как:

$id = 10;
$title = 'Hello people!';
$temp_title_10 = 'Hello people!';

Пробовал это (не работает):

$temp_title_ . $id = $title;

Спасибо.

Ответы [ 6 ]

6 голосов
/ 05 августа 2010

Как насчет использования массива вместо этого?Массив - гораздо лучший способ хранения нескольких значений.Очень, очень, намного лучше.

$title_array = array();

$id = 10;
$title = 'Hello people!';
$title_array[$id] = $title;
2 голосов
/ 05 августа 2010

Если вы пытаетесь сохранить свои переменные, вероятно, было бы лучше поместить их в массив, если ваша переменная $id всегда будет целым числом.

$persistence_array = array();

while (some_requirement) {
    $id = ...;
    $title = ...;
    $persistence_array[$id] = $title;
}

Если $id можеттакже содержат буквенно-цифровые данные, тогда вы всегда можете использовать хеш / словарь одним и тем же способом (с небольшим количеством дополнительной логики вы можете даже хранить несколько значений для одного и того же идентификатора).НЕ ДЕЛАЙТЕ ЭТОГО: Если вы абсолютно должны иметь переменные, тогда вы можете использовать переменные Но, пожалуйста, не надо.

1 голос
/ 05 августа 2010

Использовать переменную переменную PHP http://php.net/manual/en/language.variables.variable.php

$variable = $title.'_'.$id
$$variable = 'hello, world!'
1 голос
/ 05 августа 2010
${'temp_title_' . $id} = $title;
echo $temp_title_10;
1 голос
/ 05 августа 2010

Используйте это:

$metavariable = "temp_title_".$id;
$$metavariable = $title;  // note the $$
1 голос
/ 05 августа 2010

Я думаю, что делать то, что вы пытаетесь, плохая идея, но вот как это сделать:

$GLOBALS["temp_title_".$id]=$title;

В качестве альтернативы, вы можете сделать это:

$varname="temp_title_".$id;
$$varname=$title;

Самый правильный способ сделать то, что я думаю, вы пытаетесь сделать, это использовать массив:

// Somewhere in the PHP script:
$an_array=array();

// To assign:
$an_array[$id]=$title;

// To retrieve:
echo $an_array[$id];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...