Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » PHP: как склеить значение переменной

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

keha



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, как можно склеить значение одной переменной с именем другой переменной и обратиться к вновь полученной переменной?
 
Например:
Есть переменные $color_1, $color_2, $color_3, $color_4 и т.д. (например до 10), в которых есть какие-то данные. Нужно из цикла for ($i=1; $i<=10; $i++) обратиться к этим переменным. То есть, нужно как-то склеить текст color_ со значением $i, и чтоб результат этой склейки был переменной.

Всего записей: 82 | Зарегистр. 15-08-2001 | Отправлено: 11:29 16-07-2006 | Исправлено: keha, 11:32 16-07-2006
Cronograph



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
keha
Тебе надо склеить имя переменной, а не ее значение!
А не проще будет вместо 10 переменных использовать один массив $color?

Всего записей: 1088 | Зарегистр. 26-08-2002 | Отправлено: 12:11 16-07-2006 | Исправлено: Cronograph, 12:14 16-07-2006
keha



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Действительно проще. Вчера сидел тупил пол дня. А с массивами за 2 минуты вышло.
Спасибо.

Всего записей: 82 | Зарегистр. 15-08-2001 | Отправлено: 14:07 16-07-2006
Advanced_Guest



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
массив лучше на самом деле
 
но если надо склеивать, тор есть такой вариант:

Код:
 
$var1=123;
 
$n=1;
echo ${'var'.$n};


----------
The Abyss - UO, LA2, Ботва, BSFG

Всего записей: 2446 | Зарегистр. 14-04-2002 | Отправлено: 14:29 16-07-2006
SiMM

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
но если надо склеивать, тор есть такой вариант:
Нахрена давать то, что человеку нахрен ненужно?
Цитата:
А с массивами за 2 минуты вышло.


Всего записей: 2302 | Зарегистр. 14-05-2004 | Отправлено: 14:39 16-07-2006
Delphi6



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SiMM

Цитата:
Нахрена давать то, что человеку нахрен ненужно?

Для того уважаемый SiMM что человеку надо знать как можно в альтернативном случае решить проблему. Допустим в данном случае можно обойтись массивом, а в будущем окажется что массив не может решить проблему, так что он должен заново задавать вопрос, и засорять топик?
Если честно я не могу понять ваших без почевннх резких высказываний в адрес многих пользователей форума.

Всего записей: 2631 | Зарегистр. 06-07-2004 | Отправлено: 15:22 16-07-2006
edogs

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Delphi6

Цитата:
Если честно я не могу понять ваших без почевннх резких высказываний в адрес многих пользователей форума.

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

Всего записей: 1777 | Зарегистр. 25-07-2004 | Отправлено: 15:50 16-07-2006 | Исправлено: edogs, 15:51 16-07-2006
SiMM

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
edogs, послушайте, хан, может вам самоликвидироваться и заткнуться? Я конечно понимаю ваше желание быть в каждой бочке затычкой - но уж постарайтесь не давать комментариев на темы, в которых вы нихрена не смыслите (это я про комментирование меня).
Цитата:
Для того уважаемый SiMM что человеку надо знать как можно в альтернативном случае решить проблему.
Ему не нужно знать альтернативу. Человек просто не знал, как сделать правильно (с новичками это бывает - очевидное решение им даже не приходит в голову). Ему, слава богу, успели дать правильный ответ. Он ему, слава богу, последовал. После этого появляется человек, который повторяет правильный ответ и даёт неправильный. Вопрос - зачем? Сколько раз приходилось видеть, как людей сбивают этим с толку.
Цитата:
а в будущем окажется что массив не может решить проблему
Примеры в студию. Иначе ваше утверждение голословно.

Всего записей: 2302 | Зарегистр. 14-05-2004 | Отправлено: 17:25 16-07-2006 | Исправлено: SiMM, 17:28 16-07-2006
Delphi6



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Отправил в PM (здесь будет считаться офтопиком)

Всего записей: 2631 | Зарегистр. 06-07-2004 | Отправлено: 17:43 16-07-2006 | Исправлено: Delphi6, 17:49 16-07-2006
SiMM

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Может кто-то всё же сообразит пару-другую нормальных примеров

Всего записей: 2302 | Зарегистр. 14-05-2004 | Отправлено: 18:15 16-07-2006
Advanced_Guest



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SiMM
Пример:

Код:
 
class foo {
   public $var = 'a';
   public $name = 'b';
   public $description = 'c';
 
}
 
// нужно вытащить определённые переменные класса и запихнуть их в массив
$obj = new foo();
 
$array = array('name','var');
foreach($array as $key => $name){
   $array[$key]=$obj->{$name}
}
 

 
как ты сделаешь это без использование массива ?
 
класс чужой, менять построение его - нельзя.
 
 
или же нужно инклудить чужую файл, и там файлы генерируются в формате $var1 $var2 и тд.
переписывать - нельзя, потому что над ним работают другие люди. (или вообще не работают,)
 
Да и опять же:
1. я не говорю что такой вариант хороший (массив всё равно лучше). НО он существует.
2. в следующий раз, кто нибуть будет искать на данном форуме как склеивать названия переменных. он находит тему, и вот, сразу есть ответ.  
3.
Цитата:
Нахрена давать то, что человеку нахрен ненужно?
- это твоё мнение.  Оно не обязательно должно соблюдать с моим или других участников.
 
из данного обсуждения удаляюсь, оно безсмысленно по своей сути.  


----------
The Abyss - UO, LA2, Ботва, BSFG

Всего записей: 2446 | Зарегистр. 14-04-2002 | Отправлено: 19:15 16-07-2006
SiMM

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Advanced_Guest, это не моё мнение, это выводы по ответу топикстартера.
http://forum.ru-board.com/topic.cgi?forum=31&topic=10537#3
 
Добавлено:

Цитата:
как ты сделаешь это без использования массива ?
Вначале не заметил, потом глянул ещё раз... в общем, вопроса не понял Вернее, почему он мне задан И речь всё же не об объектах была.

Всего записей: 2302 | Зарегистр. 14-05-2004 | Отправлено: 19:29 16-07-2006 | Исправлено: SiMM, 19:33 16-07-2006
Fortoo

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
массив лучше на самом деле
 
но если надо склеивать, то есть такой вариант:
 
Код:
 
$var1=123;
 
$n=1;
echo ${'var'.$n};  

 
Advanced_Guest
Очень давнее сообщение, но помогло мне в 2021 году)
Четвёртый год работаю с php, но только сейчас понадобилась такая склейка.
Спасибо друг!!!

Всего записей: 1 | Зарегистр. 04-04-2021 | Отправлено: 00:15 04-04-2021 | Исправлено: Fortoo, 00:26 04-04-2021
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Fortoo

Цитата:
но только сейчас понадобилась такая склейка

не должна в ней быть нужда..
лучше уж массив или ассоциативный.
такая склейка, обычно, используется только для обфускации кода.

Всего записей: 15117 | Зарегистр. 20-09-2014 | Отправлено: 01:48 04-04-2021
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Интернет » Web-программирование » PHP: как склеить значение переменной


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru