Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сравнение переменной, простой вопрос 
:(
    Опции темы
Rusman
Дата 7.8.2013, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 312
Регистрация: 4.5.2006
Где: Пермь

Репутация: нет
Всего: нет



Здравствуйте!
Возник простой вопрос по улучшению кода.
Постоянно мочает этот вопросик:
Допустим есть переменная и нужно сравнить ее два раза. 
Код

if ($var == 1 || $var == 2) echo 'Переменная Вар равна 1 или 2';

Можно ли как-то написать сокращенней данное выражение.

Всем заранее спасибо!
PM MAIL ICQ Skype   Вверх
Gold Dragon
Дата 7.8.2013, 18:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 10
Всего: 71



Rusman, ты считаешь это ооочеееень длинный код? smile

встречный вопрос: улучшить это как? Уменьшить количество символов или ускорить обработку?


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
skyboy
Дата 8.8.2013, 00:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



in_array
но фишка в том, что вот таких простых проверок — капля в море в сравнении со сложными многоэтажными проверками на корректность и согласованность данных. так что не парься.
PM MAIL   Вверх
Gold Dragon
Дата 8.8.2013, 06:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 10
Всего: 71



skyboy, а как ты упростил код? по моему с этим он станет сложнее  smile 


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
baldina
Дата 8.8.2013, 11:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 26
Всего: 101



Код

if ($var == 1 || $var == 2)
if (in_array ($var, [1, 2]))

на целый символ короче. нет повторений. а какой вариант понятнее - это индивидуально

Добавлено через 34 секунды
гы. в отформатированном виде оно длиннее  smile 
PM MAIL   Вверх
Gold Dragon
Дата 9.8.2013, 07:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 10
Всего: 71



baldina, ну если два правметра, то baldina, ты явно проиграл.. А вот если их с десяток... smile


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
skyboy
Дата 11.8.2013, 10:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Цитата(baldina @  8.8.2013,  10:26 Найти цитируемый пост)
 а какой вариант понятнее - это индивидуально

не надо сравнивать названия переменной($var и $Var, например) — сразу видно, что одна и та ж переменная анализируется.
я считаю, что вариант с in_array однозначно читабельнее.

Добавлено через 1 минуту и 13 секунд
другое дело, что лучше вообще обернуть в функцию, отражающую смысл:
canBeTrimmed($var) там или isCorrect($var) вместо абстрактных if'ов
PM MAIL   Вверх
Gold Dragon
Дата 12.8.2013, 08:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 10
Всего: 71



Цитата(skyboy @  11.8.2013,  11:12 Найти цитируемый пост)
другое дело, что лучше вообще обернуть в функцию, отражающую смысл:
canBeTrimmed($var) там или isCorrect($var) вместо абстрактных if'ов 
Это точно прямой путь к сокращению кода smile





--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0486 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.