![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Antony41 |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 27.12.2008 Репутация: нет Всего: 1 |
Ребят подскажите пожалуйста стандартную функцию (я уверен что она есть)
чтоб она возвращает результат если параметр = bool нужна стандартная замена этой функции
Это сообщение отредактировал(а) Antony41 - 14.11.2012, 00:33 |
||||
|
|||||
| mirotvorets |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 13.11.2012 Репутация: нет Всего: нет |
Так а какой результат то она должна возвращать? Проверку результата для каждого конкретного случая не загонишь в стандартную функцию!
|
|||
|
||||
| Antony41 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 27.12.2008 Репутация: нет Всего: 1 |
PHP производит автоматическое преобразование в зависимости от конкретной операции, т.е. если опреация производится как со строкой (например strlen($var)), то переменная var будет рассматриваться как пустая строка, а если это логические операции, то переменная будет рассматриваться как типа bool, это в C/С++ или например в Delphi имеет значение тип. Или я не прав ? Просто php всего третий день изучаю... Добавлено через 3 минуты и 11 секунд в примере же видно что если переменная 'true' то возвращает параметр |
|||
|
||||
| mirotvorets |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 13.11.2012 Репутация: нет Всего: нет |
Все верно, ну просто надо учитывать тонкости языка.
А для определения булевая ли переменная есть is_bool() - это Вам нужно ? |
|||
|
||||
| Antony41 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 27.12.2008 Репутация: нет Всего: 1 |
is_bool это не совсем то что нужно
нужно чтоб при проверке на true возвращала входной параметр(естественно того же типа) Добавлено через 2 минуты и 28 секунд можно впринципе и обойтись))) так просто для интереса спрашиваю. функция is_result не самая большая |
|||
|
||||
| Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 14 Всего: 137 |
Странная функция, которая возвращает результат только в половине случаев. А в остальной половине что? void?
|
|||
|
||||
| Antony41 |
|
||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 27.12.2008 Репутация: нет Всего: 1 |
а в остальной половине NULL или 0 или false смотря с каким типом работать
Добавлено через 12 минут и 23 секунды испоьзовать так например
если рассматривать $var как строки то вернет только те которые были указаны А вот подобная ей
а вот эта вернет если параметры $bool_flag и $value указаны
|
||||||
|
|||||||
| Antony41 |
|
||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 27.12.2008 Репутация: нет Всего: 1 |
да не нужно мне что бы она мне true или false возвращала именно в этом и фишка чтобы при true возвращала сам параметр а при false NULL или false или 0 или '' я не привязан к конкретному типу пример я приводил в первом сообщении допустим хочу сделать функцию запросов в БД
а если бы её не было тогда бы пришлось делать дополнительную проверку
можно много применений найти Это сообщение отредактировал(а) Antony41 - 14.11.2012, 13:11 |
||||||
|
|||||||
| Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 14 Всего: 137 |
|
|||
|
||||
| Antony41 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 27.12.2008 Репутация: нет Всего: 1 |
||||
|
||||
| Aliance |
|
||||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 14 Всего: 137 |
Вообще весь мир уже пользуется sql builder`ами для таких целей. Если же говорить о raw-query, то не вижу чем вариант с проверкой плох. Разве что он должен быть более правильный, имхо:
В кохане есть прикольная штука для нечто похожей логики, мне она очень по душе:
Зачем же редактировать пост и нарушать полностью логику тех, кто будет читать тему с начала. |
||||
|
|||||
| Antony41 |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 27.12.2008 Репутация: нет Всего: 1 |
функция которую вы привели я так понимаю проверяет существует ли значение переданное в POST запросе и если да возвращает его а если нет - null
отличная весчь)) тоже кстате упрощает задачи типа
надо взять в коллекцию)) а чем же отличается empty от bool??? ведь это одно и тоже я так понимаю?
Добавлено @ 13:09 про sql builder щас почитаю спасибо Добавлено @ 13:14 извиняюсь возвращает null при не указанном параметре Это сообщение отредактировал(а) Antony41 - 14.11.2012, 13:15 |
||||
|
|||||
| Antony41 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 27.12.2008 Репутация: нет Всего: 1 |
все таки я так понимаю стандартной функции такой нет?
просто лень через класс прописывать
|
|||
|
||||
| Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 14 Всего: 137 |
в частном примере да, а вообще она проверяет есть ли ключ в массиве, и если есть возвращает его, если нет - возвращает значением по умолчанию, если оно установлено или NULL в ином случае. тем что это более глобальная проверка, да и тем, что empty не ругнётся если переменной не существует. (аналогично поведению isset) Кроме того могут быть коллизии, когда значение равно одному из: '', ' ', 'false', 0, '0' - тут нужно смотреть. По этой же причине array_key_exists предпочтительнее isset. Добавлено через 44 секунды Стандартной - нет. Есть empty, is_null и иже с ними, но это немного не то. |
|||
|
||||
| Antony41 |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 27.12.2008 Репутация: нет Всего: 1 |
а разве это выражение приводит к ошибке?
ведь переменная $var не инициализирована! а по моему разницы нет проверять так как выше или так
это чисто для самопонимания что если ты рабоешь со строкой то лучше проверять на empty isset понятно а вот !$var или empty($var) ... Добавлено через 3 минуты и 10 секунд Спасибо всем за помощь в просветлении мозгов)) просто потрясающий язык программирования PHP! |
||||
|
|||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |