История символа @
- Подробности
- Категория: Электронная почта
Знак @ — лигатура, означающая «at». Официальное название символа — «коммерческое at». Его знает любой пользователь сети Интернет, так как он непосредственно связан с электронной почтой. Но далеко не все знают историю появления этого символа и почему в русском языке он называется «собака», «собачка».
Откуда символ появился, точно неизвестно. Он существует по меньшей мере с XV века, а возможно и ранее. Многие ученые проводили исследования появления этого знака. Француз Дэнис Музерелли предположил, что @ появился в результате другого «уклона» в написании, когда значок «`», использовавшийся французскими и немецкими купцами, начали второпях писать как @.
Американский ученый Бертольд Уллман выдвинул предположение, что знак @ был изобретен средневековыми монахами для сокращения латинского слова «ad», которое часто употреблялось в качестве универсального слова, означающего «на», «в», «в отношении» и т.
Итальянский специалист истории языка профессор Джорджио Стабиле (Giorgio Stabile) обнаружил венецианские коммерческие документы, датированные примерно 1500 годом, в которых символ @ использовался для обозначения другой меры объема — амфоры, или сосуда. Стабиле также нашел латино-испанский словарь 1492 года, в котором слово «амфора» (anfora) переводилось как «арроба» (arroba) — мера веса, равная примерно 12,5 кг. Это слово, скорее всего, произошло от арабского ar-roub, которое, опять же, означало некую единицу измерения, а именно «четверть».
Современное официальное название символа «коммерческое at» берёт своё происхождение из торговых расчетов, например, 7 widgets @ $2 each = $14, что переводится как 7 шт. по 2$ = 14$. Поскольку этот символ применялся в торговле, он был размещен на клавиатурах первых пишущих машинок и оттуда перешел на клавиатуру компьютера.
Можно сделать вывод, что символ @ существует с XV века — как в испано-арабских, так и в греко-романских языках — в качестве коммерческого символа, использовавшегося для обозначения единиц измерения товара.
В бывшем СССР этот знак был неизвестен до появления компьютера. Название «собака» получило распространение в связи с появлением на ЭВМ игры, где символ @ бегал по экрану и по сценарию игры означал собаку.
Другая версия происхождения названия: на алфавитно-цифровых мониторах персональных компьютеров серии ДВК (1980-е годы) «хвостик» рисуемого на экране изображения этого символа был очень коротким, что придавало ему сходство со схематически нарисованной собачкой.
В то же время, в переводе с татарского (и некоторых других тюркских языков на территории бывшего СССР) «эт» означает «собака».
В 1990-е годы, когда значок @ впервые пытались перевести на русский, существовало множество равноправных вариантов — «кракозябра», «закорючка», «лягушка», «ухо» и другие. В настоящее время они практически исчезли.
Как называют символ @ в других странах
Но, пожалуй, наибольшее удивление в истории символа @ вызывает то, как в наши дни он произносится и что означает на разных языках. Испанцы и португальцы по-прежнему используют слово «арроба», которое французы у них «одолжили» и переделали в «аробаз» (arobas). Американцы и британцы, конечно же, называют его «знак эт» (at sign). Это же словосочетание в различных вариациях было перенесено в другие языки, например, в немецкий (at-Zeichen), эстонский (dt-mdrk) и японский (atto maak). В Латвии и Литве используют заимствованное с английского языка et («эт») и eta («эта») с добавлением литовской морфемы в конце.
Однако в большинстве языков этот символ описывается с помощью всевозможных метафор, взятых из повседневной жизни. Наиболее характерным является упоминание животных. Голландцы, финны, немцы, венгры, поляки и африканцы видят в нем обезьяний хвост. Улиткой (по-английски — snail) знак @ называют во Франции (petit escargot) и Италии (chiocciola), а также на иврите, корейском и эсперанто (heliko). Датчане и шведы могут назвать этот знак snabel-a (слоновий хобот с буквой а на конце), болгары — кльомба или маймунско а («обезьяна А»), венгры — червяком, норвежцы — свиным хвостом, китайцы и тайванцы — мышонком, а русские — собакой (или собачкой). В Турции — розочка, в Сербии — «чокнутая A», во Вьетнаме — «скрюченная A», на Украине — «равлик» (улитка), «песик» или опять же «собака», в Польше, Хорватии, Словении и Румынии — «malpa» (обезьяна), в Греции — «папаки» (маленькая утка). А финское слово miukumauku напоминает свернувшуюся калачиком спящую кошку.
Еще одним богатым источником названий для @ является пища.
Некоторые шведы называют этот значок «булочка с корицей» (kanelbulle).
В Чехии и Словакии его называют Zavináč, то есть рольмопс (сельдь в маринаде).
Испанцы иногда называют его ensaimada — конфета, имеющая форму спирали, которую обычно делают на Майорке.
А на иврите часто используется слово shtrudl ‘штрудель’ (нем. Strudel ‘вихрь, воронка, водоворот’). Вероятно, из-за сходства знака @ и закрученного вида штруделя сбоку слово «штрудель» стало разговорным названием данного символа в Израиле.
В Японии этот символ называют «водоворот» или «наруто» (по названию водоворота Наруто).
Появляется он один раз в сутки, когда воды Тихого океана устремляются в узкий пролив. Скорость вращения водоворота доходит до 20 км/ч. Диаметр воронки — до 15 м.
Как видим, почти везде этот символ назвали тем или иным словом по принципу сходства. ♦
Источники: http://www.liveinternet.ru
http://uainfo.org
http://www.osp.ru
Регулярные выражения — PHP с нуля
Регулярные выражения — это специальные шаблоны для поиска подстроки в тексте. С их помощью можно решить одной строчкой такие задачи: «проверить, содержит ли строка цифры», «найти в тексте все адреса email», «заменить несколько идущих подряд знаков вопроса на один».
Начнем с одной народной программистской мудрости:
Некоторые люди, сталкиваясь с проблемой, думают: «Ага, я умный, я решу её с помощью регулярных выражений». Теперь у них две проблемы.
Это довольно-таки объемный и сложный урок.
Примеры шаблонов
Начнем с пары простых примеров. Первое выражение на картинке ниже ищет
последовательность из 3 букв, где первая буква это «к», вторая — любая русская буква и
третья — это «т» без учета регистра (например, «кот» или «КОТ» подходит
под этот шаблон). Второе выражение ищет в тексте время в формате 12:34
.
Любое выражение начинается с символа-ограничителя (delimiter по англ.). В качестве
него обычно используют символ /
, но можно использовать и другие
символы, не имеющие специального назначения в регулярках, например, ~
,
#
или @
. Альтернативные разделители используют, если в
выражении может встречаться символ /
. Затем идет сам шаблон строки,
которую мы ищем, за
ним второй ограничитель и в конце может идти одна или несколько букв-флагов. Они
задают дополнительные опции при поиске текста. Вот примеры флагов:
i
— говорит, что поиск должен вестись без учета регистра букв (по умолчанию регистр учитывается)u
— говорит, что выражение и текст, по которому идет поиск, исплоьзуют кодировку utf-8, а не только латинские буквы. Без него поиск русских (и любых других нелатинских) символов может работать некорректно, потому стоит ставить его всегда.
Сам шаблон состоит из обычных символов и специальных конструкций. Ну
например, буква «к» в регулярках обозначает саму себя, а вот символы [0-5]
значат «в этом месте может быть любая цифра от 0 до 5». Вот полный список
специальных символов (в мануале php их называют метасимволы),
а все остальные символы в регулярке — обычные:
Ниже мы разберем значение каждого из этих символов (а также объясним почему буква
«ё» вынесена отдельно в первом выражении), а пока попробуем
применить наши регулярки к тексту и посмотреть, что выйдет. В php есть
специальная функция preg_match($regexp, $text, $match)
,
которая принимает на вход регулярку, текст и пустой массив. Она проверяет,
есть ли в тексте подстрока, соответствующая данному шаблону и возвращает
0
, если нет,
или 1
, если она есть. А в переданный массив в элемент с индексом
0 кладется первое найденное совпадение с регуляркой. Напишем простую
программу, применяющую регулярные выражения к разным строкам:
Код | Результат |
---|---|
$regexp = "/к[а-яё]т/ui"; // строки, к которым мы будем по очереди применять регулярку $lines = [ 'рыжий кот', 'рыжий крот', 'кит и кот' ]; foreach ($lines as $line) { echo "Строка: $line\n"; // сюда будет помещено первое // совпадение с шаблоном $match = []; if (preg_match($regexp, $line, $match)) { echo "+ Найдено слово '{$match[0]}'\n"; } else { echo "- Ничего не найдено\n"; } } |
|
Познакомившись с примером, изучим регулярные выражения более подробно. a-c] значит «один любой символ, кроме a, b или c».
abc+
знак «плюс» относится только
к букве c и это выражение ищет слова вроде abc, abcc, abccc. А если
поставить скобки a(bc)+
то квантифиактор плюс относится
уже к последовательности bc
и выражение ищет слова
abc, abcbc, abcbcbcПримечание: в квадратных скобках можно указывать диапазоны
символов, но помни, что русская буква ё идет отдельно от
алфавита и чтобы написать «любая русская буква»,
надо писать [а-яё]
.
Бекслеши
Если ты смотрел другие учебники по регулярным выражениям, то наверно заметил,
что бекслеш везде пишут по-разному. Где-то пишут один бекслеш:
\d
, а здесь в примерах он повторен 2 раза: \\d
.
Почему?
Язык регулярных выражений требует писать бекслеш один раз. Однако в
строках в одиночных и двойных кавычках в PHP бекслеш тоже имеет особое
значение: мануал про строки.
Ну например, если написать $x = "\$";
то PHP воспримет это как
специальную комбинацию и вставит в строку только символ $
(и движок регулярных выражений не узнает о бекслеше перед ним). Чтобы
вставить в строку последовательность \$
, мы должны удвоить бекслеш
и записать код в виде $x = "\\$";
.
По этой причине в некоторых случаях (там, где последовательность символов имеет специальный смысл в PHP) мы обязаны удваивать бекслеш:
- Чтобы написать в регулярке
\$
, мы пишем в коде"\\$"
- Чтобы написать в регулярке
\\
, мы удваиваем каждый бекслеш и пишем"\\\\"
- Чтобы написать в регулярке бекслеш и цифру (
\1
), бекслеш надо удвоить:"\\1"
В остальных случаях один или два бекслеша дадут один и тот же
результат: "\\d"
и "\d"
вставят в строку пару
символов \d
— в первом случае 2 бекслеша это последовательность
для вставки бекслеша, во втором случае специальной последовательности
нет и символы вставятся как есть. Проверить, какие символы вставятся в строку,
и что увидит движок регулярных выражений, можно с помощью
echo: echo "\$";
. Да, сложно, а что поделать?
Специальные конструкции в регулярках
\d
ищет одну любую цифру,\D
— один любой символ, кроме цифры\w
соответствует одной любой букве (любого алфавита), цифре или знаку подчеркивания_
.\W
соответствует любому символу, кроме буквы, цифры, знака подчеркивания.
Также, есть удобное условие для указания на границу слова: \b
.
Эта конструкция обозначает, что с одной стороны от нее должен стоять символ,
являющийся буквой/цифрой/знаком подчеркивания (\w
), а с
другой стороны — не являющийся. Ну, например, мы хотим найти в тексте слово
«кот». Если мы напишем регулярку /кот/ui
, то она
найдет последовательность этих букв в любом месте — например, внутри слова
«скотина». Это явно не то, что мы хотели. Если же мы добавим
условие границы слова в регулярку: /\bкот\b/ui
, то теперь
искаться будет только отдельно стоящее слово «кот».
Мануал
- Синтаксис регулярных выражений в PHP, подробное описание
- Функции для работы с регулярными выражениями
Также, есть полезный сайт Regex101, где можно протестировать свою регулярку и проверить, что она найдет в тексте. Помни, что на том сайте бекслеши надо писать ровно один раз, и ставить флаг u не требуется.
Задачка
Напиши программу, получающую на вход автомобильный номер, и проверяющую, правильно ли он введен. Автомобильный номер имеет вид «а123вг», то есть начинается с буквы, за которой идет 3 цифры, и еще 2 буквы. Никаких посторонних символов быть в нем не должно.
Эту программу надо решить с помощью preg_match()
и регулярного
выражения. Протестировать его ты можешь например на сайте Regex101.
Задачка на проверку телефонов
Дан текст, который по идее должен быть номером телефона в виде 8-(911)-506 56 56 (т.е. человек может ввести не только цифры, но и скобки, минусы, может что-то еще). Но в реальности, пользователь может вместо номера написать что угодно. Напиши скрипт для проверки правильности введенного номера («8(911)-506 56 56» — правильный номер, «8-911-50-656-56» — правильный, «89115065656» — правильный, «02» — неправильный, «89115065656 позвать Люду» — неправильный).
Задачу надо проверить на большом числе телефонов, чтобы убедиться что твой код правильный. Для этого давай добавим в программу тесты, чтобы сразу было видно, верно все работает или нет. Сделай 2 списка номеров (правильные и нет), добавь их в программу и напиши цикл, который их по очереди прогоняет через регулярку и проверяет, что они определяются как надо (если нет — надо вывести, какой именно номер не распознается правильно).
Вот список номеров:
// Правильные: $correctNumbers = [ '84951234567', '+74951234567', '8-495-1-234-567', ' 8 (8122) 56-56-56', '8-911-1234567', '8 (911) 12 345 67', '8-911 12 345 67', '8 (911) - 123 - 45 - 67', '+ 7 999 123 4567', '8 ( 999 ) 1234567', '8 999 123 4567' ]; // Неправильные: $incorrectNumbers = [ '02', '84951234567 позвать люсю', '849512345', '849512345678', '8 (409) 123-123-123', '7900123467', '5005005001', '8888-8888-88', '84951a234567', '8495123456a', '+1 234 5678901', /* неверный код страны */ '+8 234 5678901', /* либо 8 либо +7 */ '7 234 5678901' /* нет + */ ];
Также, на regex101
https://regex101.com/r/qF7vT8/3 уже введены номера и можно простестировать
свою регулярку. Помни что на этом сайте надо писать бекслеш один раз,
например \s
, а не \\s
. Флаг m там стоит чтобы
^
и $
в регулярке обозначали «начало и конец
любой строки», а не «начало и конец всего текста». Флаг g (его нет в PHP,
он только на этом сайте) значит что надо искать все совпадения с
регуляркой, а не только первое.
Подсказка: не надо строить сложных выражений и предусматривать все возможные комбинации символов. Достаточно написать: сначала идет +7 или 8, за ними ровно 10 цифр, между которыми может быть любое число скобок, минусов, пробелов
Повторим
- preg_match находит первое совпадение с регулярными выражением и проверяет, соответствует ли текст или часть выражению
- preg_match_all находит все фрагменты текста, соответствующие регулярке
- preg_split разбивает текст на массив частей по регулярному выражению
- preg_replace заменяет в тексте части, соответствующие регулярке, на данную строку
Задачки (пока без картинок)
Опечаточники
Как тебе наверно известно, многие люди, занимающие государственные посты, тратят свои силы отнюдь не на улучшение ситуации в своем городе или регионе, а на придумывание разнообразных схем по перемещению вверенных им бюджетных средств в свои карманы.
Например, государственные органы, которые хотят провести закупки, обязаны организовать публичные торги и разместить объявление о них на сайте госзакупок. Чтобы помешать всем желающим участвовать в тендере (и чтобы отдать заказ «своим людям» и получить потом от них в свой карман часть денег), они заменяют в описании заказа некоторые русские буквы на похожие на них латинские. Таким образом, не предупрежденные заранее организации не смогут найти объявление через поиск и принять участие в конкурсе.
Давай попробуем применить наши знания языка PHP для того, чтобы вывести жуликов на чистую воду.
Задача: дан текст, содержащий слова на русском и английском языках. В некоторых словах часть русских букв заменена на похожие на них латинские, и наоборот. Напиши программу, которая находит все такие слова, выводит их и выделяет квадратными скобками первую замененную букву.
Для проверки работоспособности, попробуй применить программу к тексту из поля «Наименование заказа» на странице (осторожно, спойлер!) http://zakupki. gov.ru/pgz/public/action/orders/info/common_info/show?notificationId=5193640 или http://zakupki.gov.ru/pgz/public/action/orders/info/common_info/show?notificationId=5138013 ололо кто бы поверил!
Дополнительная задача: добавь в программу автоматическое исправление найденных «опечаток».
Подсказки для глупеньких: слова с опечатками найти легко: это слово, которое начинается с одной или нескольких русских букв, за которыми идет латинская. Ну или начинается с латинской, за которой идет русская. Достаточно минимальных знаний регулярных выражений, чтобы написать решение.
P.S. На сайте программистских комиксов xkcd есть комикс про регулярные выражения: перевод, оригинал (англ.).
дальше: Повторим? →
——
Куда вводить код? Что надо скачать? Читай первый урок.
Есть вопросы? Задай гуглу или автору.
Нравится урок? Лайкай, репости, приглашай друзей, пости котов и Канако, шли добра, решай задачи, помогай новичкам! Кнопок для лайка нет, кто хочет зарепостить, всегда может сделать это ручками.
Как связаться с автором? Я хочу переодеть его в платье школьницы и жениться на нем. Ящик codedokode (кот) gmail.com ждет ваших писем. А вконтактик и фейсбучек ждут ваших лайков. Но ответ на банальные вопросы лучше искать в Гугле или на stackoverflow.
Я решил задачку!!! Молодец, делай следующий урок
Ideone не работает!11 Ну так открой Гугл и найди сайты вроде https://repl.it/languages/php , http://phptester.net/ , http://sandbox.onlinephpfunctions.com/ , http://codepad.org/ или http://www.runphponline.com/ . Не ленись.
Почему так много рекламы? Всю рекламу на сайте ставит юкоз (бесплатный хостинг же), а не я.
На сайте установлена система Google Analytics (и еще несколько аналогичных систем от юкоза). Данные о твоем IP-адресе, посещаемых страницах, времени посещения отправляются в Google Corporation, США. Хочу знать, кто и зачем сюда заходит. Поверь, другие сайты делают точно так же. Все сайты пишут логи.
Операторы PHP
❮ Предыдущий Далее ❯
Операторы PHP
Операторы используются для выполнения операций над переменными и значениями.
PHP делит операторы на следующие группы:
- Арифметические операторы
- Операторы присваивания
- Операторы сравнения
- Операторы увеличения/уменьшения
- Логические операторы
- Строковые операторы
- Операторы массива
- Операторы условного присваивания
Арифметические операторы PHP
Арифметические операторы PHP используются с числовыми значениями для выполнения общих арифметических операций, такие как сложение, вычитание, умножение и т. д.
Оператор | Имя | Пример | Результат | Покажи |
---|---|---|---|---|
+ | Дополнение | $х + $у | Сумма $x и $y | Попробуй » |
— | Вычитание | $х — $у | Разница $x и $y | Попробуй » |
* | Умножение | $х * $у | Произведение $x и $y | Попробуй » |
/ | Подразделение | $х / $у | Частное $x и $y | Попробуй » |
% | Модуль | $x % $y | Остаток от деления $x на $y | Попробуй » |
** | Возведение в степень | $х ** $у | Результат возведения $x в $y-ю степень | Попробуй » |
Операторы присваивания PHP
Операторы присваивания PHP используются с числовыми значениями для записи значения в переменную.
Базовым оператором присваивания в PHP является «=». Это означает, что левый операнд получает значение выражения присваивания справа.
Назначение | То же, что… | Описание | Покажи |
---|---|---|---|
х = у | х = у | Левому операнду присваивается значение выражения справа | Попробуй » |
х += у | х = х + у | Дополнение | Попробуй » |
х -= у | х = х — у | Вычитание | Попробуй » |
х *= у | х = х * у | Умножение | Попробуй » |
х /= у | х = х/у | Подразделение | Попробуй » |
х %= у | х = х % у | Модуль | Попробуй » |
Операторы сравнения PHP
Операторы сравнения PHP используются для сравнения двух значений (числа или строки):
Оператор | Имя | Пример | Результат | Покажи |
---|---|---|---|---|
== | Равно | $х == $у | Возвращает true, если $x равно $y | Попробуй » |
=== | Идентичен | $х === $у | Возвращает true, если $x равно $y и они одного типа. | Попробуй » |
!= | Не равно | $х != $у | Возвращает true, если $x не равно $y | Попробуй » |
<> | Не равно | $х <> $у | Возвращает true, если $x не равно $y | Попробуй » |
!== | Не идентичны | $х !== $у | Возвращает true, если $x не равно $y или они не одного типа. | Попробуй » |
> | Больше | $х > $у | Возвращает true, если $x больше $y | Попробуй » |
< | Менее | $х < $у | Возвращает true, если $x меньше $y | Попробуй » |
>= | Больше или равно | $х >= $у | Возвращает true, если $x больше или равно $y | Попробуй » |
<= | Меньше или равно | $х <= $у | Возвращает true, если $x меньше или равно $y | Попробуй » |
<=> | Космический корабль | $х <=> $у | Возвращает целое число, меньшее, равное или большее нуля, в зависимости от если $x меньше, равно или больше $y. Появилось в PHP 7. | Попробуй » |
Операторы увеличения/уменьшения PHP
Операторы увеличения PHP используются для увеличения значения переменной.
Операторы декремента PHP используются для уменьшения значения переменной.
Оператор | Имя | Описание | Покажи |
---|---|---|---|
++$x | Предварительное увеличение | Увеличивает $x на единицу, затем возвращает $x | Попробуй » |
$х++ | Постинкремент | Возвращает $x, затем увеличивает $x на единицу | Попробуй » |
—$x | Преддекремент | Уменьшает $x на единицу, затем возвращает $x | Попробуй » |
$х— | Постдекремент | Возвращает $x, затем уменьшает $x на единицу | Попробуй » |
Логические операторы PHP
Логические операторы PHP используются для объединения условных операторов.
Оператор | Имя | Пример | Результат | Покажи |
---|---|---|---|---|
и | и | $х и $у | Истинно, если и $x, и $y истинны | Попробуй » |
или | или | $x или $y | Истинно, если верно либо $x, либо $y | Попробуй » |
хор | Хор | $x или $y | Истинно, если истинно либо $x, либо $y, но не оба одновременно | Попробуй » |
&& | и | $х && $у | Истинно, если и $x, и $y истинны | Попробуй » |
|| | или | $х || $y | Истинно, если верно либо $x, либо $y | Попробуй » |
! | Не | !$x | Истинно, если $x неверно | Попробуй » |
Строковые операторы PHP
PHP имеет два оператора, специально разработанных для строк.
Оператор | Имя | Пример | Результат | Покажи |
---|---|---|---|---|
. | Конкатенация | $txt1 . $txt2 | Объединение $txt1 и $txt2 | Попробуй » |
.= | Назначение конкатенации | $txt1 .= $txt2 | Добавляет $txt2 к $txt1 | Попробуй » |
Операторы массива PHP
Операторы массива PHP используются для сравнения массивов.
Оператор | Имя | Пример | Результат | Покажи |
---|---|---|---|---|
+ | Союз | $х + $у | Объединение $x и $y | Попробуй » |
== | Равенство | $х == $у | Возвращает true, если $x и $y имеют одинаковые пары ключ/значение | Попробуй » |
=== | Личность | $х === $у | Возвращает true, если $x и $y имеют одинаковые пары ключ/значение в том же порядке и одного типа | Попробуй » |
!= | Неравенство | $х != $у | Возвращает true, если $x не равно $y | Попробуй » |
<> | Неравенство | $х <> $у | Возвращает true, если $x не равно $y | Попробуй » |
!== | Неидентификация | $х !== $у | Возвращает true, если $x не совпадает с $y | Попробуй » |
Операторы условного присваивания PHP
Операторы условного присваивания PHP используются для установки значения в зависимости от условий:
Оператор | Имя | Пример | Результат | Покажи |
---|---|---|---|---|
?: | Тернарный | $x = expr1 ? выражение2 : выражение3 | Возвращает значение $x. Значение $x равно expr2 если expr1 = ИСТИНА. Значение $x равно expr3 , если expr1 = FALSE | Попробуй » |
?? | Объединение с нулевым значением | $x = expr1 ?? выражение2 | Возвращает значение $x. Значение $x равно expr1 if expr1 существует и не равно NULL. Если expr1 не существует или имеет значение NULL, значение $x равно выражение2 . Представлено в PHP 7 | Попробуй » |
PHP-упражнения
Проверьте себя с помощью упражнений
Упражнение:
Умножьте 10
на 5
и выведите результат.
эхо 10 5;
❮ Предыдущий Следующий ❯
НАБОР ЦВЕТА
Лучшие учебники
Учебник HTMLУчебник CSS
Учебник JavaScript
Учебник How To
Учебник SQL
Учебник Python
Учебник по W3. CSS
Учебник по Bootstrap
Учебник по PHP
Учебник по Java
Учебник по C++
Учебник по jQuery
Основные ссылки
HTML ReferenceCSS Reference
JavaScript Reference
SQL Reference
Python Reference
W3.CSS Reference
Bootstrap Reference
PHP Reference
HTML Colors
Java Reference
Angular Reference
jQuery Reference
7 Top7 Examples
Примеры HTML
Примеры CSS
Примеры JavaScript
Примеры инструкций
Примеры SQL
Примеры Python
Примеры W3.CSS
Примеры Bootstrap
Примеры PHP
Примеры Java
Примеры XML
Примеры jQuery
FORUM | О
W3Schools оптимизирован для обучения и обучения. Примеры могут быть упрощены для улучшения чтения и обучения. Учебники, ссылки и примеры постоянно пересматриваются, чтобы избежать ошибок, но мы не можем гарантировать полную правильность всего содержания. Используя W3Schools, вы соглашаетесь прочитать и принять наши условия использования, куки-файлы и политика конфиденциальности.
Copyright 1999-2023 Refsnes Data. Все права защищены.
W3Schools использует W3.CSS.
Learn PHP: Learn PHP Variables Cheatsheet
Анализ переменных в строках PHP
В PHP переменные можно анализировать в строках, указанных в двойных кавычках ( "
).
Это означает, что внутри строки компьютер заменит вхождение переменной значением этой переменной
Когда дополнительные допустимые символы идентификатора (т. е. символы, которые могут быть включены в имя переменной) должны отображаться рядом со значением переменной, имя переменной может быть завернуто в фигурные брекеты {}
, чтобы избежать путаницы с именем переменной.
$my_var = "кошка";
echo "На коврике есть $my_var";
/* Если было три кота, то вы можете ввести: */
echo "На коврике три {$my_var}";
/* Фигурные скобки помогают избежать путаницы между именем переменной и буквой s, поэтому PHP не считает имя переменной my_vars */
Переназначение переменных PHP
В PHP переменным присваиваются значения с помощью оператора присваивания ( =
). Позже той же самой переменной можно присвоить новое значение с помощью того же оператора.
Этот процесс известен как переназначение .
$var1 = "Боб";
эхо $var1;
// var1 содержит значение "Боб"
$var1 = "Джон";
эхо $var1;
// var1 теперь содержит значение "John"
Объединение строк в PHP
В PHP, если вы хотите соединить две строки вместе, вам нужно использовать .
оператор.
Этот процесс называется объединением . Поставил .
между двумя строками, чтобы соединить их.
Обратите внимание, что строки соединяются как есть, без вставки пробела. Поэтому, если вам нужно поставить пробелы, вам нужно вручную включить пробелы в строку.
echo "Привет,"." Добро пожаловать в Codecademy!";
// печатает — Привет, добро пожаловать в Codecademy!
Добавление строки в PHP
В PHP есть ярлык для добавления новой строки в конец другой строки. Это можно легко сделать с помощью оператора присваивания конкатенации строк ( .=
).
Этот оператор добавит значение справа к значению слева, а затем переназначит результат переменной слева.
$str = "Здравствуйте, ";
$str .= "Мир!";
эхо $str;
// Вывод: Привет, мир!
Строки PHP
В PHP строка представляет собой последовательность символов, заключенных в двойные кавычки. Он может быть любой длины и содержать любые буквы, цифры, символы и пробелы.
эхо "Привет 123"; // печатает Hello 123
Копирование переменных PHP
В PHP значение одной переменной может быть присвоено другой переменной.
Это создает копию значения этой переменной и присваивает ей новое имя переменной.
Изменения в исходной переменной не повлияют на копию, а изменения в копии не повлияют на оригинал. Эти переменные являются совершенно отдельными объектами.
$original = "Ice T";
$копия = $оригинал;
$original = "Чай со льдом";
эхо $копия; // "Лед Т";
Экранирующие последовательности PHP String
В PHP иногда необходимо экранировать специальные символы, чтобы включить их в строку. Escape-последовательности начинаются с символа обратной косой черты ( \
).
Существует множество escape-последовательностей, которые можно использовать для выполнения различных задач. Например, чтобы включить новую строку в строку, можно использовать последовательность \n
. Чтобы включить двойные кавычки, можно использовать последовательность \"
. Аналогично, чтобы включить одинарные кавычки, можно использовать последовательность \'
.
echo "Привет, мир!\nЭто строка!";
/* печатает-
Привет, Мир!
Это строка!
*/
Порядок оценки PHP во время присваивания
В PHP, когда происходит присваивание, операции справа от оператора присваивания ( =
) сначала оцениваются до одного значения. Результат этих операций затем будет присвоен переменной.
$var1 = 5 + 6/2;
/* Здесь сначала будут выполняться операции справа от оператора присваивания. Таким образом, первые 6 будут делиться на 2 (6/2 = 3). Затем к 5 прибавится 3 (5 + 3 = 8). Наконец, значение 8 будет присвоено переменной $var1. */
эхо $var1;
// Вывод: 8
Переменные PHP
В PHP переменным присваиваются значения с помощью оператора присваивания ( =
).
Имена переменных могут содержать цифры, буквы и символы подчеркивания ( _
). Символ ( $
) всегда должен предшествовать имени переменной. Они не могут начинаться с цифры и не могут содержать пробелы или специальные символы.
В PHP принято использовать чехол со змеей для именования переменных; это означает, что слова нижнего регистра разделяются символом подчеркивания ( _
). Имена переменных чувствительны к регистру.
$my_variable = "Здравствуйте";
$another_cool_variable = 25;
Оператор присваивания ссылки PHP
В PHP оператор присваивания ссылки ( =&
) используется для создания новой переменной в качестве псевдонима для существующей области памяти.
Другими словами, оператор присваивания ссылки ( =&
) создает два имени переменных, которые указывают на одно и то же значение. Таким образом, изменения одной переменной повлияют на другую, без необходимости копировать существующие данные.
$var1 = 5;
$var2 =& $var1;
$var1 = 6;
эхо $var2;
// Вывод: 6
Целочисленные значения в PHP
PHP поддерживает целых значений для чисел.
Целые числа представляют собой набор всех целых чисел, их отрицательных аналогов и нуля. Другими словами, целое число — число множества ℤ = {…, -2, -1, 0, 1, 2, …}.
Оператор возведения в степень в PHP
PHP поддерживает арифметический оператор для возведения в степень ( **
).
Этот оператор дает результат возведения значения слева в степень значения справа.
$n = 4;
эхо 2 ** 4;
// Вывод: 16
Арифметические операторы в PHP
PHP поддерживает арифметических операций для сложения ( +
), вычитания (-
), умножения ( *
) и деления (/
).
Операторы PHP будут возвращать целых чисел всякий раз, когда результат операции оценивается как целое число. Если результат представляет собой дробь или десятичное число, то он вернет число с плавающей запятой .
$а = 6/3;
// Переменная $a будет содержать целочисленное значение, так как операция возвращает целое число.
$b = 7/3;
// Переменная $b будет содержать значение с плавающей запятой, поскольку операция оценивается как десятичное число.
Оператор по модулю
PHP поддерживает оператор по модулю ( %
). Оператор по модулю возвращает остаток от деления левого операнда на правый операнд. Операнды операции по модулю преобразуются в целые числа перед выполнением операции. Операция возвращает целое число с тем же знаком, что и делимое.
$а = 9 % 2,3;
//2.3 преобразуется в целое число 2. Остаток от 9 % 2 равен 1. Таким образом, переменная $a будет содержать целочисленное значение 1.
$b = -19 % 4;
//Остаток этой операции равен -3. Таким образом, переменная $b будет содержать целочисленное значение -3.
$c = 20 % 2;
//Остаток этой операции равен 0. Таким образом, переменная $c будет содержать целочисленное значение 0.
Числа с плавающей запятой в PHP
PHP поддерживает чисел с плавающей запятой (десятичных) чисел.