Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Склеивание переменных
 
 автор: skydemon   (19.10.2012 в 20:02)   письмо автору
 
 

Подскажите можно ли функцией str_replace(); склеить информацию из 2 переменных в общих чертах для чего это нужно когда делаю выборку из базы то получаю обычные десятичные числа но нужно чтобы число например 1 было равно нужному значению например месяц Январь. Несколько раз в разных вариантах пробывал с помощью переменной склеить данные тем не менее нечего не вышло подскажите как это можно сделать ещё? Сейчас придумал такой код:

if($row['Leader'] or  $row['Member'] == 1){ $fraction='LSPD'; } 

всего значений 24 код работоспособный но занимает кучу места можно ли както другим путем сделать тоже самое?

  Ответить  
 
 автор: confirm   (19.10.2012 в 20:14)   письмо автору
 
   для: skydemon   (19.10.2012 в 20:02)
 

Что-то не очень похоже из примера, по которому бы можно было сказать - это некая закономерность связей межу 1 и именно LSPD, с учетом имен ключей.

  Ответить  
 
 автор: skydemon   (19.10.2012 в 20:46)   письмо автору
 
   для: confirm   (19.10.2012 в 20:14)
 

ну в общем сматри выбераем мы 2 значение это $row['Leader'] и $row['Member'] с учетом того что 2 переменные обозначают одно по сути "явление" фракция то ставим между ними or тоесть или, и сравниваем с нужным нам иди фракции например с 1 если эта одна или другая переменная равна 1 то выводим название одной фракции и так дальше по примеру если 2 то друго и этот код уйму места занимает........

  Ответить  
 
 автор: skydemon   (19.10.2012 в 20:47)   письмо автору
 
   для: skydemon   (19.10.2012 в 20:46)
 

правдо у меня в место or стоят 2 палки вертикальные но это по сути одно и тоже ( || )

  Ответить  
 
 автор: confirm   (19.10.2012 в 20:59)   письмо автору
 
   для: skydemon   (19.10.2012 в 20:47)
 

Палки на заборах, а это ИЛИ. Помните, что OR и || имеют разный приоритет.

  Ответить  
 
 автор: confirm   (19.10.2012 в 20:55)   письмо автору
 
   для: skydemon   (19.10.2012 в 20:46)
 

Во-первых: if($row['Leader'] or $row['Member'] == 1){ $fraction='LSPD'; } - это ошибка syntax error, unexpected T_IF, обо такого сравнения быть не может.
Во-вторых вы спрашиваете о возможности замены посредством str_replace(), которая призвана заменять одно строковое вхождение другим, и при этом вываливаете пример, в котором неких два ключа чему-то равны, и поэтому... И в чем и на каких условиях менять? Как вам ответить в этом случае? При чем тут склеивание?

Может быть организовать таблицу в которой описать ваши 'LSPD' и др., а id этих значений, это и есть значения ключей $row['Leader'] и т.д.. Тогда сразу и выбирайте их в запросе, без всякой замены.

  Ответить  
 
 автор: skydemon   (19.10.2012 в 21:13)   письмо автору
 
   для: confirm   (19.10.2012 в 20:55)
 

Cервер (игровой) записывает в таблицу Accounts только цифры) по этому приходиться что-то придумывать......

  Ответить  
 
 автор: skydemon   (19.10.2012 в 21:18)   письмо автору
 
   для: skydemon   (19.10.2012 в 21:13)
 

а код вот такой:


if($row['Leader'] || $row['Member'] == 1) { $fraction=' fraction'}
if($row['Leader'] || $row['Member'] == 2) { $fraction=' fraction'}
if($row['Leader'] || $row['Member'] == 3) { $fraction=' fraction'}

ну и так далее потом переменной echo вывожу $fraction и без ошибок работает все

  Ответить  
 
 автор: confirm   (19.10.2012 в 21:35)   письмо автору
 
   для: skydemon   (19.10.2012 в 21:18)
 

Код: if($row['Leader'] || $row['Member'] == 1) { $fraction=' fraction'} кроме ошибки ничего не имеет общего с тем, чего вы пытаетесь сделать. В данном случае, вы проверяете не равенство этих двух ключей указанному значению, а истинно ли значение ключа Leader или равно ли значение ключа Member единице. Разницу чувствуете?

PS. Не выдает ошибку потому, что это я написал, как по смыслу, а не как действие парсера.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования