php что значит символ
Строки
Замечание: Нет никаких проблем, если строка очень велика. Практически не существует ограничений на размер строк, налагаемых PHP, так что нет абсолютно никаких причин беспокоиться об их длине.
Синтаксис
Одинарные кавычки
Чтобы использовать одинарную кавычку внутри строки, как и во многих других языках, ее необходимо предварить символом обратной косой черты (\), т. е. экранировать ее. Если обратная косая черта должна идти перед одинарной кавычкой либо быть в конце строки, вам необходимо продублировать ее. Обратите внимание, что если вы попытаетесь экранировать любой другой символ, обратная косая черта также будет напечатана! Так что, как правило, нет необходимости экранировать саму обратную косую черту.
Замечание: В PHP 3 в данном случае будет выдано сообщение уровня E_NOTICE.
Замечание: В отличие от двух других синтаксисов, переменные и экранирующие последовательности для специальных символов, встречающиеся в строках, заключенных в одинарные кавычки, не обрабатываются.
Двойные кавычки
Если строка заключена в двойные кавычки («), PHP распознает большее количество управляющих последовательностей для специальных символов:
Таблица 11-1. Управляющие последовательности
последовательность | значение |
---|---|
\n | новая строка (LF или 0x0A (10) в ASCII) |
\r | возврат каретки (CR или 0x0D (13) в ASCII) |
\t | горизонтальная табуляция (HT или 0x09 (9) в ASCII) |
\\ | обратная косая черта |
\$ | знак доллара |
\» | двойная кавычка |
\4 | последовательность символов, соответствующая регулярному выражению, символ в восьмеричной системе счисления |
\x[0-9A-Fa-f] | последовательность символов, соответствующая регулярному выражению, символ в шестнадцатеричной системе счисления |
Повторяем, если вы захотите мнемнонизировать любой другой символ, обратная косая черта также будет напечатана!
Но самым важным свойством строк в двойных кавычках является обработка переменных. Смотрите более подробно: обработка строк.
Heredoc
Php что значит символ
Переменные в PHP представлены знаком доллара с последующим именем переменной. Имя переменной чувствительно к регистру.
Имена переменных соответствуют тем же правилам, что и остальные наименования в PHP. Правильное имя переменной должно начинаться с буквы или символа подчёркивания и состоять из букв, цифр и символов подчёркивания в любом количестве. Это можно отобразить регулярным выражением: ^[a-zA-Z_\x80-\xff][a-zA-Z0-9_\x80-\xff]*$
Замечание: Под буквами здесь подразумеваются символы a-z, A-Z и байты от 128 до 255 ( 0x80-0xff ).
Для информации о функциях работы с переменными обращайтесь к разделу функций работы с переменными.
$ 4site = ‘ещё нет’ ; // неверно; начинается с цифры
$_4site = ‘ещё нет’ ; // верно; начинается с символа подчёркивания
$täyte = ‘mansikka’ ; // верно; ‘ä’ это (Расширенный) ASCII 228.
?>
По умолчанию переменные всегда присваиваются по значению. То есть, когда вы присваиваете выражение переменной, все значение оригинального выражения копируется в эту переменную. Это означает, к примеру, что после того как одной переменной присвоено значение другой, изменение одной из них не влияет на другую. Дополнительную информацию об этом способе присвоения смотрите в разделе Выражения.
PHP также предлагает иной способ присвоения значений переменным: присвоение по ссылке. Это означает, что новая переменная просто ссылается (иначе говоря, «становится псевдонимом» или «указывает») на оригинальную переменную. Изменения в новой переменной отражаются на оригинале, и наоборот.
Для присвоения по ссылке, просто добавьте амперсанд (&) к началу имени присваиваемой (исходной) переменной. Например, следующий фрагмент кода дважды выводит ‘ Меня зовут Боб ‘:
Важно отметить, что по ссылке могут быть присвоены только именованные переменные.
function test ()
<
return 25 ;
>
Пример #1 Значения по умолчанию в неинициализированных переменных
User Contributed Notes 6 notes
This page should include a note on variable lifecycle:
Before a variable is used, it has no existence. It is unset. It is possible to check if a variable doesn’t exist by using isset(). This returns true provided the variable exists and isn’t set to null. With the exception of null, the value a variable holds plays no part in determining whether a variable is set.
Setting an existing variable to null is a way of unsetting a variable. Another way is variables may be destroyed by using the unset() construct.
The first time that a variable is used in a scope, it’s automatically created. After this isset is true. At the point at which it is created it also receives a type according to the context.
= true ; // a boolean
$a_str = ‘foo’ ; // a string
?>
If it is used without having been given a value then it is uninitalized and it receives the default value for the type. The default values are the _empty_ values. E.g Booleans default to FALSE, integers and floats default to zero, strings to the empty string », arrays to the empty array.
A variable can be tested for emptiness using empty();
= 0 ; //This isset, but is empty
?>
Unset variables are also empty.
= array();
//Now isset($item) returns true. But isset($item[‘unicorn’]) is false.
//empty($item) is true, and so is empty($item[‘unicorn’]
$item [ ‘unicorn’ ] = » ;
//Now isset($item[‘unicorn’]) is true. And empty($item) is false.
//But empty($item[‘unicorn’]) is still true;
$item [ ‘unicorn’ ] = ‘Pink unicorn’ ;
//isset($item[‘unicorn’]) is still true. And empty($item) is still false.
//But now empty($item[‘unicorn’]) is false;
?>
For arrays, this is important because accessing a non-existent array item can trigger errors; you may want to test arrays and array items for existence with isset before using them.
3 ответа 3
Да. Именно так. Для вызова методов и свойств. В жаве и c# если не ошибаюсь это точка.
Он используется не только для вызова нестатических методов, но и для обращения к свойствам(полям) объекта(а не класса).
Вообще, на сколько я знаю, повелось это из С++. Вначале был объект. Затем у него появилось свойство и обращаться к нему надо было так объект.свойство. Все бы хорошо, но порой нужно было получать не значение свойства, а указатель на него, так появилась запись объект.свойство Данная запись многим показалась некрасивой и ее заменили на объект->свойство. Т.е. в С++ «->» эквивалентно «.«, ну а в php видимо перекочевал уже конечный вариант.
PS: вот как-то, но возможно я немного ошибаюсь.
Всё ещё ищете ответ? Посмотрите другие вопросы с метками php или задайте свой вопрос.
Похожие
Подписаться на ленту
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
дизайн сайта / логотип © 2021 Stack Exchange Inc; материалы пользователей предоставляются на условиях лицензии cc by-sa. rev 2021.9.17.40238
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Escape-последовательности и числовые нотации в PHP
Привет, Хабр. В преддверии старта онлайн-курса «PHP-разработчик» подготовили традиционный перевод материала. Предлагаем также посмотреть запись прошедшего демо-занятия «Экосистема PHP».
Многие современные языки программирования поддерживают различные способы использования различных символов, таких как обычные английские латинские буквы, числа, символы, эмодзи и различные специальные символы, такие как символ новой строки или символ табуляции.
PHP, наряду со многими другими языками программирования, поддерживает определенное количество escape-последовательностей для использования различных символов, которые не могут быть набраны с обычной клавиатуры, не могут быть представлены в текстовой форме (например, невидимые символы или различные управляющие символы) или иным образом не считываются. Эти символы используют escape-последовательности, которые распознает PHP.
Что касается чисел, PHP поддерживает стандартные десятичные числа, но также может использовать и другие нотиции, такие как двоичное, восьмеричное, шестнадцатеричное и даже научное (scientific) представление. Они могут сделать код более читаемым и понятным в зависимости от контекста.
Двойные кавычки и Heredoc
В PHP строка с двойными кавычками ( «string» ) или Heredoc (смотрите ниже) поддерживает escape-последовательности и интерполяцию переменных.
PHP будет пытаться интерполировать переменные, если строковый литерал находится внутри строки с двойными кавычками или Heredoc.
Альтернативно (и желательно) интерполируемые переменные могут быть выделены фигурными скобками, так они будут выглядеть более удобочитаемыми:
Строки в одинарных кавычках ( ‘string’ ) и синтаксис Nowdoc не интерполируют переменные:
Только строки в двойных кавычках и Heredoc поддерживают escape-символы.
Экранирование символов
Поскольку PHP интерпретирует и интерполирует специальные символы внутри строковых литералов в двойных кавычках и heredoc, знак обратной косой черты ( \ ) используется как «escape-символ».
Использование второго символа обратной косой черты предотвращает преобразование первого символа обратной косой черты в escape-символ.
Символы табуляции: \t и \v
Новые строки: \r и \n
\r («возврат каретки») и \n («перевод строки») являются символами новой строки.
Escape-символ: \e
Если приведенный выше фрагмент выполняется в терминале, который поддерживает управляющие последовательности ANSI, он интерпретирует его и изменяет текст:
Символ новой страницы: \f
Восьмеричные escape-последовательности символов ASCII
PHP поддерживает экранирование восьмеричного числа в его соответствующий ASCII символ.
Для символа P можно использовать восьмеричную escape-последовательность:
Любой базовый символ ASCII можно представить с помощью такой записи:
Любое значение в диапазоне от \0 до \377 будет интерпретироваться как восьмеричная escape-последовательность ASCII символа.
Обратите внимание, что числа для расширенных символов ASCII (от 128 до 255) несовместимы с UTF-8. PHP считает значение 128 (восьмеричное: 200 ; шестнадцатеричное: 80 ) недопустимым, поскольку оно не является допустимым значением UTF-8.
Хотя PHP принимает такие значения, они считаются недопустимыми символами в контексте UTF-8.
Шестнадцатеричные escape-последовательности символов ASCII
Кроме того, шестнадцатеричные символы не чувствительны к регистру (т.е. AF равно af и aF ).
Тот же «PHP.Watch» пример можно переписать с помощью шестнадцатеричных escape-последовательностей:
Escape-последовательности символов Unicode
PHP поддерживает использование любого Unicode символа с префиксом \u и шестнадцатеричным значением code point внутри фигурных скобок.
PHP выдаст ошибку парсера, если символ Unicode превышает значение 10FFFF :
Форму записи Unicode \u<> можно использовать качестве escape-последовательности для любого символа. Вот несколько примеров:
Символ
Code point (Dec)
Code point (Hex)
Escape-последовательность Unicode
операторы — Справочник — Что означает этот символ в PHP?
Что это?
Это набор вопросов, которые время от времени возникают о синтаксисе в PHP. Это также Вики сообщества, поэтому все желающие могут принять участие в ведении этого списка.
Почему это?
Раньше было сложно найти вопросы об операторах и других синтаксических токенах.
Основная идея состоит в том, чтобы иметь ссылки на существующие вопросы по переполнению стека, чтобы нам было легче ссылаться на них, а не копировать содержимое из руководства по PHP.
Что мне здесь делать?
Если кто-то указал на вас кем-то из-за того, что вы задали такой вопрос, пожалуйста, найдите конкретный синтаксис ниже. Связанные страницы с Руководство по PHP вместе со связанными вопросами, скорее всего, ответит на ваш вопрос. Если это так, вам предлагается поднять ответ. Этот список не является заменой помощи, оказанной другими.
Список
[] Массивы (короткий синтаксис начиная с PHP 5.4)
Решение
Они могут идти до или после переменной.
Если поставить перед переменной, операция увеличения / уменьшения выполняется для переменной первый тогда результат возвращается. Если поставить после переменной, переменная первый возвращается, то операция увеличения / уменьшения выполняется.
Предварительное увеличение немного быстрее, потому что оно действительно увеличивает переменную и после этого «возвращает» результат. Постинкремент создает специальную переменную, копирует туда значение первой переменной и только после использования первой переменной заменяет ее значение на второе.
Вы также можете увеличивать буквы в PHP:
однажды z достигнут aa рядом и так далее.
Обратите внимание, что символьные переменные можно увеличивать, но не уменьшать, и даже в этом случае поддерживаются только простые символы ASCII (a-z и A-Z).
Сообщения переполнения стека:
Другие решения
Что немного? Бит представляет собой 1 или 0. В основном OFF (0) и ON (1)
Что такое байт? Байт состоит из 8 битов, а наибольшее значение байта равно 255, что означает, что установлен каждый бит. Посмотрим, почему максимальное значение байта равно 255.
Это представление 1 байт
1 + 2 + 4 + 8 + 16 + 32 + 64 + 128 = 255 (1 байт)
Оператор «И»: &
Это вывело бы число 8. Почему? Хорошо, давайте посмотрим на нашем примере таблицы.
Таким образом, вы можете видеть из таблицы, что единственный бит, которым они делятся, это 8 бит.
Второй пример
Два общих бита — 32 и 4, которые при сложении вместе возвращают 36.
Оператор «Или»: |
Это вывело бы число 11. Почему?
Вы заметите, что у нас установлено 3 бита в столбцах 8, 2 и 1. Сложите их: 8 + 2 + 1 = 11.
Символ подчеркивания ‘_’, как в _() это псевдоним gettext() функция.
Добавлено в PHP 7
Оператор приводит к целочисленному выражению:
Хорошее практическое применение этого оператора — обратные вызовы типа сравнения, которые, как ожидается, будут возвращать нулевое, отрицательное или положительное целое число на основе трехстороннего сравнения между двумя значениями. Функция сравнения передана usort один из таких примеров.
До PHP 7 вы писали бы …
Начиная с PHP 7 вы можете написать …
Магические константыХотя это не просто символы, но важная часть этого семейства. Есть восемь магических констант, которые меняются в зависимости от того, где они используются.
__LINE__ : Текущий номер строки файла.
__FILE__ : Полный путь и имя файла. Если используется внутри включения, возвращается имя включенного файла. Начиная с PHP 4.0.2, __FILE__ всегда содержит абсолютный путь с разрешенными символическими ссылками, тогда как в более старых версиях он содержал относительный путь при некоторых обстоятельствах.
__FUNCTION__ : Имя функции. (Добавлено в PHP 4.3.0) Начиная с PHP 5, эта константа возвращает имя функции в том виде, в котором она была объявлена (с учетом регистра). В PHP 4 его значение всегда в нижнем регистре.
__CLASS__ : Имя класса. (Добавлено в PHP 4.3.0) Начиная с PHP 5 эта константа возвращает имя класса в том виде, в котором оно было объявлено (с учетом регистра). В PHP 4 его значение всегда в нижнем регистре. Имя класса включает пространство имен, в котором оно было объявлено (например, Foo\Bar ). Обратите внимание, что начиная с PHP 5.4 __CLASS__ работает также в чертах. При использовании в методе черт, __CLASS__ Имя класса, в котором используется черта.
__TRAIT__ : Имя черты. (Добавлено в PHP 5.4.0) Начиная с PHP 5.4, эта константа возвращает признак в том виде, в котором он был объявлен (с учетом регистра). Имя признака включает пространство имен, в котором оно было объявлено (например, Foo\Bar ).
__METHOD__ : Имя метода класса. (Добавлено в PHP 5.0.0) Имя метода возвращается в том виде, в котором оно было объявлено (с учетом регистра).
__NAMESPACE__ : Имя текущего пространства имен (с учетом регистра). Эта константа определяется во время компиляции (добавлено в PHP 5.3.0).
instanceof используется для определения того, является ли переменная PHP экземпляром объекта определенного класса.
Приведенный выше пример выведет:
Пример с наследованием
Приведенный выше пример выведет:
Пример с клоном
Приведенный выше пример выведет: