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

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: trim

Сообщения:  [1-10]   [11-18] 

 
 автор: Саня   (02.07.2014 в 16:33)   письмо автору
 
   для: Commander   (19.06.2014 в 19:49)
 

Ещё символы с ASCII кодами 0x09, 0x0A, 0x0D, 0x00 и 0x0B.

  Ответить  
 
 автор: Commander   (19.06.2014 в 19:49)   письмо автору
 
   для: confirm   (19.06.2014 в 07:02)
 

А что еще?

  Ответить  
 
 автор: moonfox   (19.06.2014 в 13:38)   письмо автору
 
   для: Igorek   (19.06.2014 в 09:29)
 

спасибо)

  Ответить  
 
 автор: moonfox   (19.06.2014 в 13:38)   письмо автору
 
   для: Commander   (19.06.2014 в 07:00)
 

вопрос не об этом был)

  Ответить  
 
 автор: confirm   (19.06.2014 в 09:40)   письмо автору
 
   для: Igorek   (19.06.2014 в 09:29)
 

Это же руководство гласит дословно "большинства операторов". Я просто не упоминаю всех, речь шла о конкретном примере (конкретных операторов). Поэтому и надо читать и о приоритетах, и об ассоциативности, чтобы понять что значит && и AND.

PS. Наверное проще всего понять что значит приоритет, это в тернарном операторе, пытаясь присвоить, а затем использовать, но написать так:

$a = $c = $m-$n ? $c : null;

  Ответить  
 
 автор: Igorek   (19.06.2014 в 09:29)   письмо автору
 
   для: confirm   (19.06.2014 в 06:14)
 

> в РНР оператор присваивания (=) имеет самый низший приоритет по сравнению с другими операторами

Здесь не согласен. Согласно раздела руководства, который вы упоминали http://www.php.net//manual/ru/language.operators.precedence.php операторы and,xor,or и "," имеют приоритет ниже, чем оператор присваивания. Что легко доказывается примером:

<?
$pass 
'aaaa'
$fio ='vasya pupkin'

if(
$pass trim($pass)  AND $fio trim($fio)) 
{} 
echo 
$pass// aaaa
echo $fio// vasya pupkin


поменяли && на AND и получили "ожидаемый" результат

  Ответить  
 
 автор: confirm   (19.06.2014 в 07:02)   письмо автору
 
   для: Commander   (19.06.2014 в 07:00)
 

Не правда, не только пробелы.

  Ответить  
 
 автор: Commander   (19.06.2014 в 07:00)   письмо автору
 
   для: moonfox   (19.06.2014 в 03:54)
 

Функция trim() возвращает строку, переданную в качестве первого параметра, удалив из ее начала и конца строку, переданную в качестве второго параметра. Если второй параметр не передан, она удаляет пробелы.

  Ответить  
 
 автор: confirm   (19.06.2014 в 06:14)   письмо автору
 
   для: moonfox   (19.06.2014 в 05:58)
 

То, что результат присваивания, это значение вас интересующее, а не булев результат проверки истинности. Другими словами, РНР нет нужды запоминать в этом случае булев результат, достаточно его просто вернуть. Вот из этого как раз и вытекает, что по логике конструкция должна быть такой:

if(if($a == 1) && if($b == 2) && if($c == 3) ...)

Ваше действие простое, а ведь могут быть сложные логически конструкции, в которых тоже нужно сохранить возвращаемое значение, и при этом учитывать еще и приоритет, что тогда?

Кстати, именно потому, что крайние пробелы, а также слеши, это мусор (и крайняя нежелательность, особенно второго), а их удаление с последующим присваиванием результата непосредственно в логическом выражении может сделать это выражение чрезмерно громоздким, и надо выполнять эти операции до проверки непосредственно условий. Как это можно сделать, я вам уже писал.

Только сейчас обратил внимание на:
>почему не считать по умолчанию, что если в if есть присвоение, то проверять переменную со значением ?

То что я писал выше, это упрощенное и обобщенное, а на самом деле, поведение этого обуславливается тем, что в РНР оператор присваивания (=) имеет самый низший приоритет по сравнению с другими операторами.

Обязательно зайдите в раздел руководства "Операторы -> Приоритет оператора". В нем есть пояснение и об "ассоциативности", что нужно очень хорошо понимать, дабы правильно расставить те же скобки.

  Ответить  
 
 автор: moonfox   (19.06.2014 в 05:58)   письмо автору
 
   для: confirm   (19.06.2014 в 05:48)
 

очевидно true не может быть на $v если в ней не состоялось присвоение от ф-ции
очевидно под под "свою очередь" понимается отработка ф-ции и присвоение соответственно
так что я написал именно то.


почему не считать по умолчанию, что если в if есть присвоение, то проверять переменную со значением ?

  Ответить  

Сообщения:  [1-10]   [11-18] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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