PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (2): [1] 2 »

> Найдено сообщений: 22
deniel1987 Отправлено: 06 Апреля, 2014 - 17:49:06 • Тема: Логические выражения • Форум: Вопросы новичков

Ответов: 3
Просмотров: 131
Спасибо за ответ. Я так понимаю, то что вы говорите называется ассоциативностью. Я отталкиваюсь вот от этого http://ru2.php.net/manual/en/lan...s.precedence.php и согласно этому выполнение должно произойти по сценарию аналогичному с этим 1 + 3 * 5 тоесть должно получится 16, а не 20 или документация врёт по поводу приоритета логических операторов? И они имеют одинаковый приоритет, а разруливаются только с помощью их ассоциативности?
deniel1987 Отправлено: 06 Апреля, 2014 - 17:29:19 • Тема: Логические выражения • Форум: Вопросы новичков

Ответов: 3
Просмотров: 131
Здравствуйте!

Мой вопрос скорее относится к внутреннему устройству php и оптимизациям которые сделали его разработчики.

Итак на самом деле всё просто даже элементарно выражения: (1 || 0 && 0) возвращает true и ((1 || 0) && 0) возвращает false, сдесь всё правильно приоритет оператора && выше чем || поэтому всё работает как надо.

PHP:
скопировать код в буфер обмена
  1.  
  2. function f($x) {
  3.   echo $x;
  4.   return false;
  5. }
  6.  
  7. (f(1) || f(2) && f(3));
  8. (f(1) || (f(2) && f(3)));
  9.  
  10. // выводит 1212
  11.  

Почему он сперва выполняет оператор || ведь у && приоритет больше, установка скобок ничего не меняет. Ещё сильнее всё запутывается если функция возвращает true, выведено будет 11.
У меня есть два варианта почему так:
1: Я туплю и что-то упускаю
2: Php использует какие-то оптимизации. К примеру в данном выражении выполним f(1) и если результат окажется true мы найдём самое быстрое решение.

Просьба, если дело именно в поведении php дайте ссылочку где это описано.
deniel1987 Отправлено: 07 Августа, 2013 - 16:27:15 • Тема: Именование переменных и свойств • Форум: Вопросы новичков

Ответов: 10
Просмотров: 364
_Dark_ пишет:
Какая разница, было задокументировано или нет, не надо так писать и все.
Разумеется переменные с таким иминем я не использую, я просто столкнулся с тем что имя свойства объекта надо было проверить на валидность, вот и встал вопрос, а что такое валидность с точки зрения php в отношении имён;

Вот ещё интересный рабочий пример:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. ${'           ___.-~"~-._   __....__
  4.            ."    `    \ ~"~        ``-.
  5.           /` _      )  `\              `\
  6.          /`  a)    /     |               `\
  7.         :`        /      |                 \
  8.    <`-._|`  .-.  (      /   .            `;\\
  9.     `-. `--"_."-.;\___/"   .      .       | \\
  10.  _     /:--`     |        /     /        ."  \\
  11. ("\   /`/        |       "     "         /    :`;
  12. `\"\_/`/         .\     /`~`=-.:        /     ``
  13.   `._."          /`\    |      `\      /(
  14.                 /  /\   |        `Y   /  \
  15.           jgs  J  /  Y  |         |  /`\  \
  16.               /  |   |  |         |  |  |  |
  17.              "---"  /___|        /___|  /__|
  18. '} = 'elephant';
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25. echo ${'           ___.-~"~-._   __....__
  26.            ."    `    \ ~"~        ``-.
  27.           /` _      )  `\              `\
  28.          /`  a)    /     |               `\
  29.         :`        /      |                 \
  30.    <`-._|`  .-.  (      /   .            `;\\
  31.     `-. `--"_."-.;\___/"   .      .       | \\
  32.  _     /:--`     |        /     /        ."  \\
  33. ("\   /`/        |       "     "         /    :`;
  34. `\"\_/`/         .\     /`~`=-.:        /     ``
  35.   `._."          /`\    |      `\      /(
  36.                 /  /\   |        `Y   /  \
  37.           jgs  J  /  Y  |         |  /`\  \
  38.               /  |   |  |         |  |  |  |
  39.              "---"  /___|        /___|  /__|
  40. '};
  41.  
  42. ?>

В любом случае спасибо всем кто откликнулся.
deniel1987 Отправлено: 06 Августа, 2013 - 22:52:00 • Тема: Именование переменных и свойств • Форум: Вопросы новичков

Ответов: 10
Просмотров: 364
EuGen пишет:
Не очень понятно, в чём вопрос. Работает ли это? Да, работает. Нужно ли так делать? Нет, не нужно.
Попробую объяснить. Итак прежде всего цитата из документации
Цитата:
Variable names follow the same rules as other labels in PHP. A valid variable name starts with a letter or underscore, followed by any number of letters, numbers, or underscores. As a regular expression, it would be expressed thus: '[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*'
Из этого следует что в приведённом мной примере работают переменные с именами которые не являются "валидными" тоесть теоритически это не должно работать. И это не работает если делать так: но работает если делать так:
Кстати в случае с получается примерно такая ошибка: Parse error: syntax error, unexpected '1'. Это наводит меня на мысль что внутренне переменная в php может иметь имя в виде строки или числа, но когда парсер или транслятор разбирает код он проверяет имена на соответствие чемуто похожему на регулярное выражение указанное выше, а поскольку имя не соответствует то выдаёт ошибку. Таким образом с помощью синтаксиса с фигурными скобками мы обходим проверку парсером переменной на валидность имени. Вопрос заключается в следующем: это нормальное задокументированное поведение или нет. И если это нормально дайте ссылку на какое-нибудь описание этой особенности.
deniel1987 Отправлено: 06 Августа, 2013 - 17:11:11 • Тема: Именование переменных и свойств • Форум: Вопросы новичков

Ответов: 10
Просмотров: 364
Привет всем!
Вот это работает:

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $x = new stdclass;
  3. $x->{1} = 11;
  4. echo $x->{1};
  5.  
  6. ${2} = 22;
  7. echo ${2};
  8.  
  9. $x->{1.1} = 33;
  10. echo $x->{1.1};
  11.  
  12. ${2.2} = 44;
  13. echo ${2.2};
  14. ?>


Я не думал что вобще возможно использовать число в качестве имени переменной или свойства, про синтаксис с фигурными скобками я знал и раньше. Однако такие имена не соответствуют этому: http://www.php.net/manual/en/lan...ables.basics.php Прошу высказать ваше мнение по этому поводу, а ещё лучше дать ссылку на объяснение каким образом переменные могут иметь подобные имена. Спасибо!
deniel1987 Отправлено: 08 Июня, 2010 - 12:38:51 • Тема: поддомены • Форум: Напишите за меня, пожалуйста

Ответов: 1
Просмотров: 29
имеем апач с настроеными виртуальными хостами всё это висит на одном ип адресе также имею доступ к управлению доменом, было создано две а записи site.ru и www[dot]site[dot]ru работало нормально, потом добавил поддомен также две а записи xxx.site.ru www[dot]xxx[dot]site[dot]ru после этого перестали работать две записи основного домена, я в первый раз в жизни редактирую эти записи почитал мануалы понял для чего нужны все эти a cname mx итд записи. вобщем объясните где прописывать поддомен в а или cname записях или дайте какойнибудь мануальчик где это подробно расписано.
(Добавление)
вот блин написал не в том разделе Ха-ха
deniel1987 Отправлено: 29 Мая, 2010 - 15:24:54 • Тема: количество экземпляров скрипта • Форум: Программирование на PHP

Ответов: 3
Просмотров: 448
модуль апача
deniel1987 Отправлено: 29 Мая, 2010 - 15:12:34 • Тема: количество экземпляров скрипта • Форум: Программирование на PHP

Ответов: 3
Просмотров: 448
можно ли посредством php узнать количество экземпляров одного скрипта выполняющихся в текущий момент?
deniel1987 Отправлено: 12 Мая, 2010 - 17:43:57 • Тема: margin vs position • Форум: HTML, Дизайн & CSS

Ответов: 1
Просмотров: 1156
Суть такова имеем float блок и margin получаем двойной отступ делаем так display:inline; отступ становится нормальным.(ie 5,6)

вариант два тот же самый блок вместо margin position:relative; и top right left bottom отступы везде нормальные.

вопрос какой вариант лучше и какой вариант используете вы если есть другие варианты поделитесь ими Улыбка .
deniel1987 Отправлено: 29 Марта, 2009 - 16:47:44 • Тема: взлом ? • Форум: Программирование на PHP

Ответов: 11
Просмотров: 421
так что можно изменить файл только через фтп ?
deniel1987 Отправлено: 29 Марта, 2009 - 00:35:27 • Тема: взлом ? • Форум: Программирование на PHP

Ответов: 11
Просмотров: 421
Может это не совсем подходит под тематику данного раздела, но всё же вопрос такой: захожу на свой сайт и антивирус говорит фу, открываю index.php и в самом конце файла после завершающего
?> вижу html код которого там быть не должно, объясните как это возможно
deniel1987 Отправлено: 08 Марта, 2009 - 13:17:40 • Тема: функция setcookie • Форум: Программирование на PHP

Ответов: 5
Просмотров: 459
вобщем всем спасибо наверно сделаю через редирект
deniel1987 Отправлено: 08 Марта, 2009 - 02:34:39 • Тема: функция setcookie • Форум: Программирование на PHP

Ответов: 5
Просмотров: 459
это мне понятно но такой пример потребует обновить страницу

ps:у вас две синтаксических ошибки в примере, но спасибо за желание помоч.
deniel1987 Отправлено: 08 Марта, 2009 - 01:50:28 • Тема: функция setcookie • Форум: Программирование на PHP

Ответов: 5
Просмотров: 459
не могу разобратся в том что возвращает эта функция, во всех справочниках указано что она возвращает integer и предлагают код :
CODE (text):
скопировать код в буфер обмена
  1.  
  2. <?php
  3. if (SetCookie("Test","Value")) echo "Cookies успешно установлены!";
  4. ?>
  5.  

только она всегда возвращает число 1, что значит что Cookies создан, даже если браузер не поддерживает куки или они выключены

мне надо в скрипте без перезагрузки страницы знать создан он или нет
deniel1987 Отправлено: 31 Января, 2009 - 12:41:12 • Тема: internet explorer 5 • Форум: HTML, Дизайн & CSS

Ответов: 4
Просмотров: 2215
ну вобщем я перекроил всё, теперь нет необходимости в такой маленькой высоте хотя вопрос всё равно открыт да кстати в седьмом с высотой всё нормально.

Страниц (2): [1] 2 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB