Содержание

PHP синтаксический вопрос: Что означают вопросительный знак и двоеточие?



Возможный Дубликат:
быстрый синтаксический вопрос php

return $add_review ? FALSE : $arg;

Что означают вопросительный знак и двоеточие?

Спасибо

php syntax ternary-operator
Поделиться Источник Unknown     14 августа 2009 в 09:27

2 ответа


  • Что делает двойной вопросительный знак в C#?

    Возможные Дубликаты : ?? Null оператор Коалесцирования —> что означает коалесцирование? Что означают два вопросительных знака вместе в C#? Я не мог найти этот вопрос заданным здесь, поэтому решил, что задам его. Что делает двойной вопросительный знак в C#? Пример: x = y ?? z;

  • Regex: ?: обозначение (знак вопроса и двоеточие нотации )

    У меня есть следующий Java regex, который я не писал и пытаюсь изменить: ^class-map(?:(\\s+match-all)|(\\s+match-any))?(\\s+[\\x21-\\x7e]{1,40})$ ^ ^ Он похож на этот . Обратите внимание на первый вопросительный знак. Означает ли это, что группа необязательна? После соответствующего ) уже стоит…



146

Это тернарный оператор PHP (также известный как условный оператор) — если первый операнд вычисляет true, вычислите как второй операнд, иначе вычислите как третий операнд.

Думайте об этом как о выражении «if», которое вы можете использовать в выражениях. Может быть очень полезно при выполнении кратких заданий, которые зависят от некоторого условия, например

$param = isset($_GET['param']) ? $_GET['param'] : 'default';

Существует также сокращенная версия этого текста (в PHP 5.3 годах и далее). Вы можете опустить средний операнд. Оператор будет вычислять как первый операнд, если он истинен, и третий операнд в противном случае. Например:

$result = $x ?: 'default';

Стоит отметить, что приведенный выше код при использовании переменной $_GET или $_POST будет выдавать неопределенное уведомление об индексе, и чтобы предотвратить это, нам нужно использовать более длинную версию с коалесцирующим оператором isset или null , который введен в PHP7:

$param = $_GET['param'] ?? 'default';

Поделиться Paul Dixon     14 августа 2009 в 09:27



17

Это тернарная форма оператора if-else. Приведенное выше утверждение в основном звучит так:

if ($add_review) then {
    return FALSE; //$add_review evaluated as True
} else {
    return $arg //$add_review evaluated as False
}

Более подробную информацию о троичном op in смотрите здесь PHP: http://www.addedbytes.com/php/троичные условные обозначения/

Поделиться Cristian Ivascu     14 августа 2009 в 09:34


Похожие вопросы:


Вопросительный знак и двоеточие означают в утверждении? что это значит?

Что это значит ? а что значит двоеточие? ((OperationURL[1] == GET) ? GetRequestSignature() : ) В следующем утверждении… string requestUri = _apiURL + ?e= + OperationURL[0] + ((OperationURL[1] ==…


Вопросительный знак PHP

$hideCode = $likesObj->isAlreadyLikedByUser(facebookUID()) ? ‘style=display:none;’ : »; Может ли кто-нибудь объяснить мне, что делает этот вопросительный знак в этой строке кода? Большое. Он похож на этот . Обратите внимание на первый…


что означают знаки «?» и»: «в строке кода java?

Возможный Дубликат : Для чего используется знак вопроса “?” и двоеточие“:”? Вопросительный знак в коде java Я пишу коды для конвертера RBG в HSV. У меня есть эта линия: var d = (r==minRGB) ? g-b :…


Что означает этот синтаксис PHP? (вопросительный знак)

Что означает эта строка кода PHP? То есть вопросительный знак, за которым следуют true, двоеточие, false? return(isset($_SESSION[‘id’])) ? true : false;


Имейте неустранимый вопросительный знак в конце ввода html

Я целую вечность оглядывался вокруг, пытаясь понять это, надеюсь, вы сможете мне помочь. В основном у меня есть функция на моем сайте, где пользователь может разместить вопрос. По сути, мне нужен…


Разбиение строки на вопросительный знак, восклицательный знак или точку

Я пытаюсь разбить строку на вопросительный знак, восклицательный знак или точку с помощью preg_split, но столкнулся с проблемой. Вместо того чтобы разделиться на вопросительный знак, он разделил…


Пустой index.php печатает вопросительный знак только с <?php ?>?

Почему, когда я ставлю <?php ?> на пустом index.php он печатает вопросительный знак ?, это никогда не случалось со мной, кто-нибудь из вас знает почему ? У меня нет ничего в файле index.php,…

PHP | Переменные

Переменные

Последнее обновление: 28.02.2021

Переменные хранят отдельные значения, которые можно использовать в выражениях PHP. Для определения переменных применяется знак доллара $. Например:


$num;

Здесь определена переменная $num. Поскольку определение переменной — это отдельная инструкция, она завершается точкой с запятой.

Как правило, названия переменный начинаются с маленькой буквы или символа подчеркивания. Стоит учитывать, что PHP является регистрозависимым языком, а значит, переменные

$num и $Num будут представлять две разные переменные.

Также при наименовании переменных нам надо учитывать следующие правила:

  • Имена переменных должны начинаться с алфавитного символа или с подчеркивания

  • Имена переменных могут содержать только символы: a–z, A–Z, 0–9, и знак подчеркивания

  • Имена переменных не должны включать в себя пробелы

С помощью операции присвоения (=) переменной присваивается определенное значение:


$num = 10;

Здесь определена переменная

$num, которая хранит число 10.

После определения переменной и присвоения ей значения мы можем использовать ее в выражениях PHP. Например, вывести ее значение на веб-страницу:


<!DOCTYPE html>
<html>
<head>
<title>METANIT.COM</title>
<meta charset="utf-8" />
</head>
<body>

<?php
// определение переменной $num
$num = 10;
// вывод значения переменной $num на веб-страницу
echo $num;
?>

</body>
</html>

С помощью функции echo значение переменной $num выводится на веб-страницу. И при обращении к скрипту мы увидим значение переменной

$num:

Отличительной особенностью переменных является то, что мы можем изменять их значение:


<?php
// определение переменной $num
$num = 10;
// вывод значения переменной $num на веб-страницу
echo $num;

// меняем значение переменной
$num = 22;
echo $num;
?>

Также можно присваивать значение другой переменной:


$a = 15;
$b = $a;
echo $b;

Если переменная объявлена, но ей изначально не присвоено никакого значения (иначе говоря она не инициализирована), то нам будет проблематично ее использовать. Например:


<?php
$num;
echo $num;
?>

При попытке вывести значение переменной мы получим диагностическое сообщение о том, что переменная не определена:


Warning: Undefined variable $num in C:\localhost\hello.php on line 13
22

Поэтому перед использованием переменной ей следует присвоить начальное значение.

Вывод значения переменной

В предыдущих примерах для вывода значения переменной применялась команда echo, после которой указывалось выводимое значение. Однако есть и другой способ вывести значение переменной. Например, мы хотим одновременно вывести значения двух переменных:


<?php
$num_1 = 11;
$num_2 = 35;

echo "num_1 = $num_1  num_2=$num_2";
?>

Здесь функции echo передается строка. Чтобы встроить в строку значение переменной, в этой сстроке указываем имя переменной вместе со знаком $. И кода в строке PHP встретит выражение $num_1, он заменит это выражение значением переменной $num_1. То же самое касается и переменной $num_2. В итоге при выполнении этого скрипта браузер отобразит значения обеих переменных:


num_1 = 11 num_2=35

Регулярные выражения — PHP с нуля

Регулярные выражения — это специальные шаблоны для поиска подстроки в тексте. С их помощью можно решить одной строчкой такие задачи: «проверить, содержит ли строка цифры», «найти в тексте все адреса email», «заменить несколько идущих подряд знаков вопроса на один».

Начнем с одной народной программистской мудрости:

Некоторые люди, сталкиваясь с проблемой, думают: «Ага, я умный, я решу её с помощью регулярных выражений». Теперь у них две проблемы.

Это довольно-таки объемный и сложный урок. Но, если ты дошел до сюда, то ты способен осилить и это. Просто почти теорию, не надо запоминать, а когда дойдешь до задачек, вернись и проясни непонятные моменты. Ну или открой мануал — там эта тема подробно разъясняется. Ссылка: http://www.php.net/manual/ru/reference.pcre.pattern.syntax.php

Примеры шаблонов

Начнем с пары простых примеров. Первое выражение на картинке ниже ищет последовательность из 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, то теперь искаться будет только отдельно стоящее слово «кот».

    Мануал

    Также, есть полезный сайт 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 заменяет в тексте части, соответствующие регулярке, на данную строку

    Задачки (пока без картинок)

    • На вход скрипта дан введенный пользователем номер телефона в виде 8-911-404-44-11 или +7(812)6786767 (в начале 8 или +7, потом идут 10 цифр и, возможно, какие-то символы). То есть, как и в прошлой задаче, человек вводит номер как хочет. Надо проверить номер на правильность и привести любой номер к единому формату 89114044411 (то есть, заменить +7 на 8 и выкинуть весь мусор вроде пробелов, скобок и минусов, кроме цифр)
    • Автозамена. Напиши скрипт, заменяющий определенное слово на другое (например, слово «дурак» на «хороший человек» в фразе «ты дурак»). Скрипт должен не пропускать слово, если оно написано буквами в разном регистре (ДуРАк), с заменой русских букв на похожие английские (а -> a), или через пробелы («ты — д у р а к»)
    • Дан текст, содержащий в себе email’ы (адреса почты вроде [email protected] ). Напиши скрипт, выводящий все email, встречающиеся в этом тексте
    • «Grammar Nazi». Напиши скрипт, проверяющий текст на наличие злостных ошибок:
      • нет пробела после запятой, точки с запятой, восклицательного знака, вопросительного знака, двоеточия
      • «жи» или «ши» написано с буквой ы
      • в тексте есть слово «координально» или «сдесь», «зделал», «зделаю», «зделан»
      • в тексте есть слова «а» или «но» без запятой перед ними.
      • (можешь добавить еще несколько правил, если хорошо знаешь русский язык)

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

    • Если ты сделал задачу про Grammar Nazi, сделай скрипт, которы вместо сообщения об ошибках будет молча их исправлять.

    Опечаточники

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

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

    Давай попробуем применить наши знания языка 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, США. Хочу знать, кто и зачем сюда заходит. Поверь, другие сайты делают точно так же. Все сайты пишут логи.

    Регулярные выражения. Часть 1. Введение. Специальные символы., PHP

    Наконец-то я добрался до этой статьи, в ней я попытаюсь с нуля рассказать про регулярные выражения в PHP. Для начала — что это такое?

    Если в двух словах и понятным языком, то регулярные выражения — это метод, основанный на соответствии строки заданному шаблону.

    Основы основ

    Как я уже сказал, начну с самого нуля. Недаром же я пометил эту статью тегом «Начинающим».

    А начинается всё со строки в PHP.

    // создаем строку
    $stroka = 'abcdefghijklmnopqrstuvwxyz0123456789';
     
    // выводим строку
    echo $stroka;

    Если нам сперва нужно определить, находится ли abc внутри нашей строки, и только тогда вывести её, то попробуем сделать что-то подобное:

    // та же самая строка 
    $stroka = 'abcdefghijklmnopqrstuvwxyz0123456789';
     
    if( preg_match("/abc/", $stroka) ) { // возвратит 1 в случае положительного результата (<code>abc</code> внутри строки)
    	echo $stroka;
    }

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

    Небольшое отступление про русские буквы

    Хочу обратить ваше внимание, регулярные выражения PHP по умолчанию не поддерживают русские буквы и поэтому далеко не все примеры будут работать корректно, однако это легко исправляется модификатором /u (дальше всё объясню), который включает дополнительную функциональность: шаблон и строки станут обрабатываться как UTF-8 (доступно с версии PHP 4.1.0).

    Подробно в следующем примере.

    Верхний регистр букв

    Символы верхнего и нижнего регистра — не одно и то же. Однако чувствительность к регистру можно отключить при помощи модификатора /i. Модификаторы добавляются в конце шаблона, смотрите пример:

    <?php
    // строку оставляем пока что ту же
    $stroka = 'abcdefghijklmnopqrstuvwxyz0123456789';
     
    if( preg_match("/ABC/i", $stroka) ) { // возвратит 1, но если убрать i, то условие уже выполняться не будет
    	echo $stroka;
    }

    А теперь то, о чём я упоминал выше — этот же самый пример не будет работать корректно с русскими буквами.абв/u», $stroka) ) { echo ‘Строка начинается с абв’; }

    Проще простого, верно ведь?

    Поиск соответствия концу строки. В чём отличие между \z и $

    Вот тут уже интереснее. Начну с того, что есть два «конца строки», один — это конец строковой переменной в целом, а другой — конец строки в тексте \n, то есть дальше текст продолжается, просто с новой строки.

    Так вот, если вам нужны именно последние символы в строковой переменной, всегда используйте \z.

    // обратите внимание, что после буквы "р" я добавил переход на новую строку
    $stroka = 'абвгдеёжзиклмнопр\nстуфхцчшщъыьэюя';
     
    if( preg_match("/юя\z/u", $stroka) ) {
    	echo 'Текст оканчивается на "юя"';
    } else {
    	echo 'Соответствий не найдено.';
    }

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

    Вообще мы можем в предыдущем примере заменить \z на $ и он будет проверять соответствие последних символов в переменной, но если включить поддержку многострочного поиска модификатором /m, то символы \n в самой строке уже будут восприниматься как переход на новую строку в тексте (для непонятливых — нажатие клавиши Enter) и тогда условие станет верным для букв пр .а-д]/u», $stroka, $matches);   // элемент $matches[0] будет содержать массив(!) из соответствующих символов, каждый символ — отдельный элемент массива foreach( $matches[0] as $symbol ) { echo $symbol; } // в итоге получится еёжзиклмнопрстуфхцчшщъыьэюя

    Фигурные скобки { }

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

    $stroka = 'PHP123'; 
     
    echo preg_match("/PHP[0-9]{3}/", $stroka);

    Точка .

    Точка обозначает любой один символ, кроме переходов на новую строку \n или \r.

    $stroka = 'этот маг';
     
    // выведет 1, то есть совпадение найдено, но без флага /u работать как надо не будет
    echo preg_match("/м.г/u", $stroka);

    Астериск *

    Звёздочка означает любое количество символа, стоящего перед ней (в том числе 0). Поясню на примере.

    $stroka = 'php'; 
     
    // будет выведена 1 как для "php", так для "pp", "phhp", "phhhhhhhp"
    echo preg_match("/ph*p/", $stroka);

    Плюс +

    Плюс практически аналогичен звёздочке за одним единственным исключением — он не учитывает отсутствие символа, то есть, если взять предыдущий пример и строку pp, то будет выведен 0.(Привет|Здравствуй|Хай), мир/», $stroka, $matches);   foreach($matches as $key=>$value) { echo $key.’->’.$value.'<br />’; } /* В результате получим 0->Привет, мир 1->Привет То есть первый элемент массива — это найденная подстрока, подходящая под шаблон, а второй — какое именно условие подошло. */

    Миша

    Недавно я осознал, что моя миссия – способствовать распространению WordPress. Ведь WordPress – это лучший движок для разработки сайтов – как для тех, кто готов использовать заложенную структуру этой CMS, так и для тех, кто предпочитает headless решения.

    Сам же я впервые познакомился с WordPress в 2009 году. Организатор WordCamp. Преподаватель в школах Epic Skills и LoftSchool.

    Если вам нужна помощь с вашим сайтом или может даже разработка с нуля на WordPress / WooCommerce — пишите. Я и моя команда сделаем вам всё на лучшем уровне.

    GeekSpace | Операторы сравнения в PHP

    Доброе время суток участники образовательной IT площадки GeekSpace. Меня зовут Юрий Сиротенко и сегодня мы поговорим о операторах сравнения.

    Также вы можете посмотреть видео урок «Переменные» в рамках нашего курса «Введение в PHP» перейдя по этой ссылке

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

    В языке программирования PHP определен набор встроенных операций сравнения позволяющих строить “простые” логические выражения:

    ПримерНазваниеРезультат
    $a == $bРавноtrue если $a равно $b после преобразования типов.
    $a === $bТождественно равноtrue если $a равно $b и имеет тот же тип
    $a != $bНе равноtrue если $a не равно $b после преобразования типов
    $a <> $bНе равноtrue если $a не равно $b после преобразования типов
    $a !== $bТождественно не равноtrue если $a не равно $b, или они разных типов
    $a < $bМеньшеtrue если $a строго меньше $b.
    $a > $bБольшеtrue если $a строго больше $b.
    $a <= $bМеньше или равноtrue если $a меньше или равно $b
    $a >= $bБольше или равноtrue если $a больше или равно $b

    Давайте рассмотрим каждый оператор сравнения по отдельности

    Равно

    Знак равенства присущ подавляющему большинству языков программирования. В PHP он обозначается как “==”.

    Например мы можем построить следующее выражение:

    $result = 3 == 2;

    Результат выражения “три равняется двум” является ложным, то есть false, потому что на самом деле три не равняется двум.

    Очень важный момент! В случае, если вы сравниваете число со строкой или две строки, содержащие числа, каждая строка будет неявно и автоматически преобразована в число, и сравниваться они будут как числа

    $result = 3 == ‘3’;

    Результатом будет “true”.

    Тождественно равно

    В математике тождественное равенство — это верное числовое равенство, а также равенство, которое будет верным при всех допустимых значениях переменных, которые входят в его состав

    Например следующее выражение в математике является тождественно равным:

    3 * (x + 1) = 3 * x + 3

    При любом значении переменной x, равенство будет верным

    В PHP тождественное равенство — это такое равенство когда и значение и тип этого значения являются равными. Оператор тождественного равенства обозначается как “===”

    Например следующее выражение можно считать тождественно равным

    $result = 3 === 3;

    Но вот такое выражение тождественно не равно и поэтому переменная “result” будет содержать “false”

    $result = 3 === ‘3’;

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

    Не равно

    В PHP для того чтобы указать не равенство двух значений можно воспользоваться одним из следующих обозначение “!=” или “<>”. Два этих оператора абсолютно равнозначны.

    $result = 1 != 2;
    $result = 1 <> 2;

    Оба этих выражения вернут истинный результат

    Тождественно не равно

    Данный оператор обозначается как “!==” и имеет прямую противоположность оператору тождественного равенства “===”.

    Например результат следующего выражения будет истинным, то есть целочисленное значение 1 тождественно не равняется строковому представлению этого же числа, так как, автоматическое и неявное преобразование типов при использовании тождественного не равно не происходит

    $result = 1 !== ‘1’;

    А результат этого выражения — ложный, так как и значение и тип равны

    $result = 1 !== 1;

    Меньше

    Оператор “меньше” или его еще называют “строго меньше” в PHP обозначается знаком “<”. Например мы можем построить следующее выражение:

    $result = 1 < 2;

    В результате в переменную “result” будет возвращено значение “true”. Почему true? Потому что число 1 меньше 2 и выражение можно считать правдивым.

    Больше

    Оператор “больше” или его еще называют “строго больше” в PHP обозначается знаком “>”. Например мы можем построить следующее выражение:

    $result = 1 > 2;

    Результатом данного выражение будет — ложь, так как 1 меньше чем 2.

    Меньше или равно

    Оператор “меньше или равно” в PHP обозначается знаком “<=”. Результат данного выражения будет истинным если результат левой части выражения меньше или равно правой

    Например данное выражение будет истинным, так как три равняется трем

    $result = 3 <= 3;

    Но данный пример по понятным причинам окажется ложным

    $result = 3 <= 2;

    Больше или равно

    Оператор “больше или равно” в PHP обозначается знаком “>=” и является прямо противоположным оператору “меньше или равно”

    Например данное выражение будет истинным, так как три равняется трем

    $result = 3 >= 3;

    Но данный пример по понятным причинам окажется ложным

    $result = 3 >= 4;

    Заключение

    На самом деле есть еще один оператор сравнения “Космический корабль” который пришел в мир PHP с седьмой версии, но результатом его применения не является логическое значение, поэтому мы поговорим о нем в отдельном конспекте

    Null-коалесцентный оператор — php Два знака вопроса ??…

    Привет, Вы узнаете про null-коалесцентный оператор, Разберем основные ее виды и особенности использования. Еще будет много подробных примеров и описаний. Для того чтобы лучше понимать что такое null-коалесцентный оператор, два знака вопроса, ?? , настоятельно рекомендую прочитать все из категории Выполнение скриптов на стороне сервера PHP (LAMP) NodeJS (Backend)

    . Об этом говорит сайт https://intellect.icu

    два знака вопроса , идущие подряд без пробела (впервые появились появились в php7) — это не что иное как:

    null-коалесцентный оператор (Оператор объединения с null)

    Решает распространенную проблему в PHP.
    Она возникает в случае, если мы хотим присвоить значение переменной, которое присвоено другой переменной, но если последней переменной значение не было присвоено, то присвоить некое явное значение по умолчанию.

    Часто проявляется при работе с пользовательским вводом.

    До PHP 7:

    ?

    1

    2

    3

    4

    5

    6

    if (isset($foo)) {

        $bar = $foo;

    } else {

         // присваиваем $bar значение ‘default’ если $foo равен NULL

        $bar = ‘default’;

    }

    В PHP 7 (теперь можно)):

     

    1

    $bar = $foo ?? ‘default’;

    Можно использовать с цепочкой переменных:

     

    1

    $bar = $foo ?? $baz ?? ‘default’;

    К сожалению, в одной статье не просто дать все знания про null-коалесцентный оператор. Но я — старался. Если ты проявишь интерес к раскрытию подробностей,я обязательно напишу продолжение! Надеюсь, что теперь ты понял что такое null-коалесцентный оператор, два знака вопроса, ?? и для чего все это нужно, а если не понял, или есть замечания, то нестесняся пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Выполнение скриптов на стороне сервера PHP (LAMP) NodeJS (Backend)

    Регулярные выражения для новичков

    Что такое регулярные выражения?

    Если вам когда-нибудь приходилось работать с командной строкой, вы, вероятно, использовали маски имён файлов. Например, чтобы удалить все файлы в текущей директории, которые начинаются с буквы «d», можно написать rm d*.

    Регулярные выражения представляют собой похожий, но гораздо более сильный инструмент для поиска строк, проверки их на соответствие какому-либо шаблону и другой подобной работы.xyz] соответствует любой символ, кроме, собственно, «x», «y» или «z».

    Итак, применяя данный инструмент к нашему случаю, если мы напишем [Хх][аоие]х[аоие], то каждая из строк «Хаха», «хехе», «хихи» и даже «Хохо» будут соответствовать шаблону.

    Предопределённые классы символов

    Для некоторых наборов, которые используются достаточно часто, существуют специальные шаблоны. Так, для описания любого пробельного символа (пробел, табуляция, перенос строки) используется \s, для цифр — \d, для символов латиницы, цифр и подчёркивания «_» — \w.

    Если необходимо описать вообще любой символ, для этого используется точка — .. Если указанные классы написать с заглавной буквы (\S, \D, \W) то они поменяют свой смысл на противоположный — любой непробельный символ, любой символ, который не является цифрой, и любой символ кроме латиницы, цифр или подчёркивания соответственно. — начало текста, а $ — конец. Так, по паттерну \bJava\b в строке «Java and JavaScript» найдутся первые 4 символа, а по паттерну \bJava\B — символы c 10-го по 13-й (в составе слова «JavaScript»).

    Комикс про регулярные выражения с xkcd.ru

    Диапазоны

    У вас может возникнуть необходимость обозначить набор, в который входят буквы, например, от «б» до «ф». Вместо того, чтобы писать [бвгдежзиклмнопрстуф] можно воспользоваться механизмом диапазонов и написать [б-ф]. Так, паттерну x[0-8A-F][0-8A-F] соответствует строка «xA6», но не соответствует «xb9» (во-первых, из-за того, что в диапазоне указаны только заглавные буквы, во-вторых, из-за того, что 9 не входит в промежуток 0-8).

    Механизм диапазонов особенно актуален для русского языка, ведь для него нет конструкции, аналогичной \w. Чтобы обозначить все буквы русского алфавита, можно использовать паттерн [а-яА-ЯёЁ]. Обратите внимание, что буква «ё» не включается в общий диапазон букв, и её нужно указывать отдельно.

    Квантификаторы

    Вернёмся к нашему примеру. Что, если в «смеющемся» междометии будет больше одной гласной между буквами «х», например «Хаахаааа»? Наша старая регулярка уже не сможет нам помочь. Здесь нам придётся воспользоваться квантификаторами.

    Примеры использования квантификаторов в регулярных выражениях

    Обратите внимание, что квантификатор применяется только к символу, который стоит перед ним.

    Некоторые часто используемые конструкции получили в языке регулярных выражений специальные обозначения:

    Спецобозначения квантификаторов в регулярных выражениях.

    Таким образом, с помощью квантификаторов мы можем улучшить наш шаблон для междометий до [Хх][аоеи]+х[аоеи]*, и он сможет распознавать строки «Хааха», «хееееех» и «Хихии».

    Ленивая квантификация

    Предположим, перед нами стоит задача — найти все HTML-теги в строке

    <p><b>Tproger</b> — мой <i>любимый</i> сайт о программировании!</p>

    Очевидное решение <.>]*>, которое запретит считать содержимым тега правую угловую скобку. Второй — объявить квантификатор не жадным, а ленивым. Делается это с помощью добавления справа к квантификатору символа ?. Т.е. для поиска всех тегов выражение обратится в <.*?>.

    Ревнивая квантификация

    Иногда для увеличения скорости поиска (особенно в тех случаях, когда строка не соответствует регулярному выражению) можно использовать запрет алгоритму возвращаться к предыдущим шагам поиска для того, чтобы найти возможные соответствия для оставшейся части регулярного выражения. Это называется ревнивой квантификацией. Квантификатор делается ревнивым с помощью добавления к нему справа символа +. Ещё одно применение ревнивой квантификации — исключение нежелательных совпадений. Так, паттерну ab*+a в строке «ababa» будут соответствовать только первые три символа, но не символы с третьего по пятый, т.к. символ «a», который стоит на третьей позиции, уже был использован для первого результата.

    Скобочные группы

    Для нашего шаблона «смеющегося» междометия осталась самая малость — учесть, что буква «х» может встречаться более одного раза, например, «Хахахахааахахооо», а может и вовсе заканчиваться на букве «х». Вероятно, здесь нужно применить квантификатор для группы [аиое]+х, но если мы просто напишем [аиое]х+, то квантификатор + будет относиться только к символу «х», а не ко всему выражению. Чтобы это исправить, выражение нужно взять в круглые скобки: ([аиое]х)+.

    Таким образом, наше выражение превращается в [Хх]([аиое]х?)+ — сначала идёт заглавная или строчная «х», а потом произвольное ненулевое количество гласных, которые (возможно, но не обязательно) перемежаются одиночными строчными «х». Однако это выражение решает проблему лишь частично — под это выражение попадут и такие строки, как, например, «хихахех» — кто-то может быть так и смеётся, но допущение весьма сомнительное. Очевидно, мы можем использовать набор из всех гласных лишь единожды, а потом должны как-то опираться на результат первого поиска. Но как?…

    Запоминание результата поиска по группе

    Оказывается, результат поиска по скобочной группе записывается в отдельную ячейку памяти, доступ к которой доступен для использования в последующих частях регулярного выражения. Возвращаясь к задаче с поиском HTML-тегов на странице, нам может понадобиться не только найти теги, но и узнать их название. В этом нам может помочь регулярное выражение <(.*?)>.

    <p><b>Tproger</b> — мой <i>любимый</i> сайт о программировании!</p>

    Результат поиска по всему регулярному выражению: «<p>», «<b>», «</b>», «<i>», «</i>», «</p>».
    Результат поиска по первой группе: «p», «b», «/b», «i», «/i», «/i», «/p».

    На результат поиска по группе можно ссылаться с помощью выражения \n, где n — цифра от 1 до 9. Например выражению (\w)(\w)\1\2 соответствуют строки «aaaa», «abab», но не соответствует «aabb».

    Если выражение берётся в скобки только для применения к ней квантификатора (не планируется запоминать результат поиска по этой группе), то сразу после первой скобки стоит добавить ?:, например (?:[abcd]+\w).

    С использованием этого механизма мы можем переписать наше выражение к виду [Хх]([аоие])х?(?:\1х?)*.

    Перечисление

    Чтобы проверить, удовлетворяет ли строка хотя бы одному из шаблонов, можно воспользоваться аналогом булевого оператора OR, который записывается с помощью символа |. Так, под шаблон Анна|Одиночество попадают строки «Анна» и «Одиночество» соответственно. Особенно удобно использовать перечисления внутри скобочных групп. Так, например (?:a|b|c|d) полностью эквивалентно [abcd] (в данном случае второй вариант предпочтительнее в силу производительности и читаемости).

    С помощью этого оператора мы сможем добавить к нашему регулярному выражению для поиска междометий возможность распознавать смех вида «Ахахаах» — единственной усмешке, которая начинается с гласной: [Хх]([аоие])х?(?:\1х?)*|[Аа]х?(?:ах?)+

    Полезные сервисы

    Потренироваться и / или проверить своё регулярное выражение на каком-либо тексте без написания кода можно с помощью таких сервисов, как RegExr, Regexpal или Regex101.script] вполне подходит символ «S».

    Цвет

    Напишите регулярное выражение для поиска HTML-цвета, заданного как #ABCDEF, то есть # и содержит затем 6 шестнадцатеричных символов.

    Итак, нужно написать выражение для описания цвета, который начинается с «#», за которым следуют 6 шестнадцатеричных символов. Шестнадцатеричный символ можно описать с помощью [0-9a-fA-F]. Для его шестикратного повторения мы будем использовать квантификатор {6}.

    #[0-9a-fA-F]{6}

    Разобрать арифметическое выражение

    Арифметическое выражение состоит из двух чисел и операции между ними, например:

    • 1 + 2
    • 1.2 *3.4
    • -3/ -6
    • -2-2

    Список операций: «+», «-», «*» и «/».

    Также могут присутствовать пробелы вокруг оператора и чисел.

    Напишите регулярное выражение, которое найдёт как всё арифметическое действие, так и (через группы) два операнда.

    Регулярное выражение для числа, возможно, дробного и отрицательного: -?\d+(\.\d+)?.

    Оператор – это [+*/\-]. Заметим, что дефис мы экранируем. Нам нужно число, затем оператор, затем число, и необязательные пробелы между ними. Чтобы получить результат в требуемом формате, добавим ?: к группам, поиск по которым нам не интересен (отдельно дробные части), а операнды наоборот заключим в скобки. В итоге:

    (-?\d+(?:\.\d+)?)\s*([-+*\/])\s*(-?\d+(?:\.\d+)?)

    Кроссворды из регулярных выражений

    Такие кроссворды вы можете найти у нас.


    Удачи и помните — не всегда задачу стоит решать именно с помощью регулярных выражений («У программиста была проблема, которую он начал решать регэкспами. Теперь у него две проблемы»). Иногда лучше, например, написать развёрнутый автомат конечных состояний.

    Задачи и их разборы с javascript.ru; в статье использованы комиксы xkcd.

    Что означает $$ (доллар доллар или двойной доллар) в PHP?

    Что означает $$ (доллар / доллар или двойной доллар) в PHP?

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

    • $ x хранит значение «Компьютерщики» типа String.
    • Теперь ссылочная переменная $$ x хранит в себе значение «для гиков» типа String.

    Итак, к значению «для компьютерных фанатов» можно получить доступ двумя способами, перечисленными ниже:

    • Непосредственно используя ссылочную переменную. Пример: echo $$ x;
    • Используя значение, хранящееся в переменной $ x, в качестве имени переменной для доступа к значению «для компьютерных фанатов». Пример: echo $ Geeks; что даст результат как «для компьютерных фанатов» (без кавычек).

    Примеры:

    Ввод: $ x = "Компьютерщики";
            $$ x = для компьютерных фанатов;
            эхо "$ x";
            echo "$$ x;";
            echo $ Geeks;
    Вывод: Гики
             для компьютерных фанатов
             для компьютерных фанатов
    
    Ввод: $ x = "Rajnish";
            $$ x = "Нойда";
            echo "$ x живет в".$ Rajnish;
    Продукт: Раджниш живет в Нойде.
     

    Примеры ниже иллюстрируют использование $ и $$ в PHP:


    Пример 1:

    $ x = " Компьютерщики " ;

    $ $ x = «GeeksforGeeks» ;

    эхо $ x . "\ n" ;

    эхо $ $ x . "\ n" ;

    echo "$ Geeks" ;

    ?>

    Выход:
    Компьютерщики
    GeeksforGeeks
    Компьютерщики
     

    Пример-2:

    $ var = «Вундеркинды» ;

    $ { $ var } = "GeeksforGeeks" ;

    $ {$ { $ var }} = «информатика» ;

    эхо $ var . "\ n" ;

    echo $ Компьютерщики . "\ n" ;

    echo $ GeeksforGeeks . "\ n" ;

    echo $ {$ { $ var }}. "\ n" ;

    ?>

    Выход:
    Компьютерщики
    Компьютерщики
    Информатика
    Информатика
     

    Справка - что означает этот символ в PHP?

    Что такое бит? Бит - это представление 1 или 0.Обычно ВЫКЛ (0) и ВКЛ (1)

    Что такое байт? Байт состоит из 8 бит, а максимальное значение байта равно 255, что означает, что каждый бит установлен. Мы посмотрим, почему максимальное значение байта равно 255.

      -------------------------------------------
    | 1 байт (8 бит) |
    -------------------------------------------
    | Место значения | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
    -------------------------------------------
      

    Это представление 1 байта

    1 + 2 + 4 + 8 + 16 + 32 + 64 + 128 = 255 (1 байт)

    Оператор «И»:

    и
      $ а = 9;
    $ b = 10;
    эхо $ a & $ b;
      

    Это выведет число 8.Почему? Что ж, давайте посмотрим на нашем примере таблицы.

      -------------------------------------------
    | 1 байт (8 бит) |
    -------------------------------------------
    | Место значения | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
    -------------------------------------------
    | $ a | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 |
    -------------------------------------------
    | $ b | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 |
    -------------------------------------------
      

    Итак, вы можете видеть из таблицы, что единственный бит, который они используют вместе, - это 8 бит.

    Второй пример

      $ а = 36;
    $ b = 103;
    эхо $ a & $ b; // Это выведет число 36.
    $ a = 00100100
    $ b = 01100111
      

    Два общих бита - 32 и 4, которые при сложении возвращают 36.

    Оператор «Или»:

    |
      $ а = 9;
    $ b = 10;
    эхо $ a | $ b;
      

    Это выведет число 11. Почему?

      $ а = 00001001
    $ b = 00001010
      

    Вы заметите, что у нас установлено 3 бита в столбцах 8, 2 и 1.Сложите их: 8 + 2 + 1 = 11.

    ПРИМЕЧАНИЕ: Этот ответ был первоначально размещен на StackOverflow.com Анкуром Саксеной

    .

    MCQ PHP (препроцессор гипертекста Php) - набор 2

    Еще один новый MCQ вопросов с ответом по категории PHP (Php Hypertext Preprocessor) . В этом наборе вы получите 10 объективных вопросов с ответом, связанных с препроцессором гипертекста Php (PHP). На каждый вопрос дается четыре варианта ответа в качестве возможных ответов, но только один вариант является правильным, выберите свой ответ и подсчитайте полученный правильный ответ.Правильный ответ дан ниже этого набора вопросов.

    Вопросы с множественным выбором PHP


    (препроцессор гипертекста Php)

    2-1. Какая польза от функции strlen () в PHP?
    A. Он возвращает тип строки
    B. Он возвращает значение строки
    C. Он возвращает длину строки
    D. Он возвращает значение подмножества строки

    2-2. Что из перечисленного является оператором конкатенации в PHP?
    А.+ (Плюс)
    Б. (точка)
    C. & (амперсанд)
    D.% (процент)

    2-3. Что из перечисленного не является циклами PHP?
    A. в то время как
    B. сделать, в то время как
    C. для
    D. сделать для

    2-4. Какая польза от функции strpos () в PHP?
    A. Поиск числа в строке
    B. Поиск пробелов в строке
    C. Поиск символа / текста в строке
    D. Поиск строки / текста с заглавной буквы в строке

    2-5.Где в PHP должна отображаться функция setcookie () ?
    A. Перед тегом
    B. После тега
    C. В теге
    D. В любом месте

    2-6. Что означает знак решетки (#) в PHP?
    A. Он указывает строки, которые закомментированы.
    B. Указывает на объявление переменной.
    C. Указывает на объявление функции.
    D. Не используется в PHP.

    2-7. Как определить переменную в PHP?
    A. $ имя_переменной = значение
    B. $ имя_переменной = значение;
    С.$ имя_переменной == значение;
    D. $ имя_переменной как значение;

    2-8. Использование функции strcmp () в PHP?
    A. Он сравнивает строки, включая регистр
    B. Он сравнивает строки, исключая регистр
    C. Он сравнивает строки только в верхнем регистре
    D. Он сравнивает строки только в нижнем регистре

    2-9. Каков будет результат объединения строки с другим типом данных в PHP?
    A. int
    B. float
    C. string
    D. double

    2-10.Данные для файла cookie, хранящегося в _________ на PHP?
    A. На компьютере интернет-провайдера
    B. На компьютере пользователя
    C. На компьютере-сервере
    D. Это зависит от кодирования PHP



    Нажмите здесь, чтобы увидеть ответы

    1 - C / 2 - B / 3 - D / 4 - C / 5 - A / 6 - A / 7 - B / 8 - A / 9 - C / 10 - B




    43
    Исходное содержимое здесь опубликовано в соответствии с этими условиями лицензии: X
    Тип лицензии: Только чтение
    Вы можете прочитать исходный контент в том контексте, в котором он опубликован (по этому веб-адресу).Никакое другое копирование или использование не разрешается без письменного согласия автора.
    Входящие условия поиска:
    • что означает хэш (#) в php mcq
    • Каков будет результат объединения строки с другим типом данных в PHP?

    Оператор присваивания = vs Оператор равенства == vs Идентичный оператор === Учебное пособие по PHP

    Оператор присваивания

    =

    Одиночный знак равенства = является основным оператором присваивания в PHP.

    Не воспринимайте этот знак как «равно». Переменная слева от = получает значение выражения справа.

    Используется для присвоения переменной значения или присвоения переменной значения другой переменной.

    Пример

    =
    $ a = 123; // присвоить 123 переменной $ a
    $ b = $ a; // присвоено $ a
    ?>

    В приведенном выше примере $ a и $ b имеют одинаковое значение 123 .

    Оператор равенства

    == Двойной знак равенства == - это оператор сравнения, называемый Оператором равенства, он принимает два ввода для сравнения и возвращает true , если значения совпадают, и возвращает false , если значения не являются одно и тоже. Имейте в виду, что оператор равенства == отличается от оператора присваивания = . Оператор присваивания изменяет переменную слева, чтобы получить новое значение, в то время как оператор равенства == проверяет равенство и возвращает истину или ложь.

    Пример

    ==
    $ a = 123; // целое число в php
    $ b = '123'; // php строка
    if ($ a == $ b) {
    echo 'Значения совпадают';
    }
    else {
    echo 'Значения не совпадают';
    }
    ?>

    В приведенном выше примере печатается . Значения совпадают с .

    Идентичный оператор

    ===

    Идентичный оператор === позволяет более строго сравнивать переменные.Он возвращает истину только в том случае, если две сравниваемые переменные или значения содержат одинаковую информацию и имеют один и тот же тип данных.

    Пример

    ===
    $ a = 123; // целое число в php
    $ b = '123'; // php строка
    if ($ a === $ b) {
    echo 'Значения и типы совпадают';
    }
    else {
    echo 'Значения и типы не совпадают';
    }
    ?>

    В приведенном выше примере печатается Значения и типы не совпадают с , потому что $ тип данных является целым числом, а $ b Тип данных является строкой, и эти типы данных не совпадают, = == сравнивает два значения и тип, сбой в одном возвращает ложный результат.

    Учтите, что всегда помните, что операторы Equal и Identical - это не одно и то же. Идентичный соответствует как значению переменной, так и типу данных, тогда как равное соответствует только значению.

    Филиппинское песо (PHP) Определение

    Что такое филиппинское песо (PHP)?

    PHP - это аббревиатура или символ валюты филиппинского песо, валюты Филиппин. Песо на филиппинском языке - песо. Филиппинское песо состоит из 100 сентаво или сентимо на филиппинском языке и часто обозначается символом ₱.

    По состоянию на апрель 2021 года 1 PHP стоит примерно 0,02 доллара США.

    Ключевые выводы

    • Филиппинское песо обозначается аббревиатурой PHP и часто обозначается символом ₱.
    • Валюта претерпела существенную девальвацию в рамках системы привязки, но стала свободно плавающей после принятия Закона о новом центральном банке 1993 года.
    • Хотя обменный курс в период с 1993 по 2019 год был значительно выше, чем ранее зафиксированные уровни, курс является свободно плавающим и, следовательно, привел к большей стабильности валюты и ликвидировал черный рынок, существовавший во время системы привязки.

    Филиппинское песо

    В 1898 году в стране произошла революция и были выпущены собственные монеты и бумажные деньги, обеспеченные ресурсами страны. Революция была недолгой - эти деньги перестали обращаться в 1901 году.

    США взяли под свой контроль Филиппины и запустили валюту, которая была привязана к цене золота, которая в то время была примерно вдвое дешевле доллара США (USD). Привязка 2 фунта стерлингов к доллару продолжалась до тех пор, пока страна не стала независимой в 1946 году.

    Центральный банк Филиппин был создан в 1949 году, и на протяжении 1950-х годов они стремились поддерживать привязку к доллару США 2: 1. Это стало невозможным, так как черный рынок песо начался вне фиксированной системы, где ₱ обычно торговался с соотношением 3: 1. Валюта была девальвирована до 3,90 фунта стерлингов за доллар США, а в 1970 году снова была девальвирована до 6,43 фунта стерлингов за доллар США. Пока страна пыталась стабилизировать обменный курс, валюта продолжала обесцениваться. В 1983 году он торговался около 11 фунтов за доллар, а к 1986 году - около 20 фунтов за доллар.

    Закон о новом центральном банке 1993 года поставил филиппинское песо на путь свободно плавающей валюты. Он не имеет привязки и в период с 2003 по 2019 год торговался в диапазоне от 57 до 40 фунтов стерлингов за доллар США. Из-за свободно плавающего курса черный рынок валюты (который почти всегда отражал более низкую стоимость ₱, чем официальные каналы) прекратил свое существование.

    Пример котировки доллар США / филиппинское песо

    Предположим, путешественник из США направляется на отдых на Филиппины.Им нужно купить филиппинские песо (PHP) для поездки. Поскольку обменный курс является свободно плавающим, курс будет меняться по дням и даже по минутам.

    Предположим, что путешественник проверяет обменный курс, и он составляет 52,27 доллара США / PHP. Это означает, что покупка одного доллара США стоит 52,27 PHP или, в качестве альтернативы, вы получаете 52,27 PHP за каждый доллар США.

    Хотя этот курс на валютных веб-сайтах является последней ценой сделки (или иногда текущим значением ставки), наш путешественник, скорее всего, не сможет приблизиться к нему, если ему понадобится физическая валюта.Обменные пункты и банки часто взимают от 3% до 5% и учитывают это в обменном курсе. Таким образом, за каждый доллар США путешественник может получить только 50,70 фунта стерлингов или 49,65 фунта стерлингов в зависимости от того, взимает ли оно 3% или 5%.

    Если путешественник хочет 50 000 фунтов стерлингов, фунтов стерлингов по ставке 52,27 доллара США, ему потребуется 956,57 доллара США. Но если обмен валюты учитывает около 5% комиссии, они предлагают 49,65, и путешественнику нужно 1007,05 доллара, чтобы получить те же 50 000 фунтов стерлингов.

    Когда наш путешественник вернется, у него может быть несколько филиппинских песо, которые он хочет конвертировать обратно в доллары США.Допустим, у них есть 5000 фунтов стерлингов. Предположим, что обменный курс остается прежним - 52,27, но помните, что банки и обменные пункты обычно берут от 3% до 5% с обеих сторон транзакции. Таким образом, вместо того, чтобы взимать только 52,27 за каждый доллар США, они будут взимать от 53,84 до 54,88. Это означает, что 5000 фунтов стерлингов не купят столько долларов.

    При цене 52,27 5000 конвертируются в 95,66 доллара. Но при 54,88 он конвертируется только в 91,11 доллара, что примерно на 5% меньше.

    Набор знаков и письменных символов, e.грамм. * # &% $ | Письменный

    и амперсанд
    Амперсанд - это сокращение от слова «и». Обычно это видно в названиях компаний и различных сокращениях.
    компаний: Marks & Spencer, Dolce & Gabbana, Johnson & Johnson и Tiffany & Co.

    сокращений: P&L (прибыль и убыток), R&D (исследования и разработки) и B&B (кровать и завтрак)

    * звездочка
    Звездочка указывает на аннотацию или сноску.

    Его также можно использовать как замену букв в нецензурном слове («О, черт!») Или чтобы сделать имя анонимным (Мистер М ***).

    Мы вернем * Ваш платеж в полном объеме в случае утери во время транспортировки.
    * при условии уведомления о потере в течение 7 дней
    @ на вывеске
    Первоначально сокращение бухгалтерского учета, означающее «по курсу».

    Сегодня знак at чаще всего встречается в адресах электронной почты и в дескрипторах социальных сетей.

    бухгалтерия: 2 ручки по 3 доллара = 6 долларов

    эл. Почта: bob @ tefl.нетто

    социальные сети: @englishclub

    bullet
    Мы используем маркеры для внесения элементов в список.
    Список покупок:

    ¢ Знак цента
    Символ цента используется во многих национальных валютах для обозначения одной сотой (1/100) основной денежной единицы. Например, в США цент - это 1/100 доллара. Обычно он пишется после числа.
    Кофе: 99 ¢
    © символ авторского права
    Буква c или C в круге указывает на наличие авторских прав на произведение, такое как книга, фильм, веб-сайт и т. Д.
    © Oxford University Press, 2019

    АВТОРСКИЕ ПРАВА © MMXIX SONY PICTURES

    кинжал
    Мы используем символ †, чтобы указать на сноску, если звездочка уже использовалась. Если требуется третья ссылка, можно использовать двойной кинжал ‡.

    Символ † также называется obelus , когда он используется для обозначения смерти человека.

    Мы вернем * Ваш платеж полностью † в случае утери во время транспортировки.
    * при условии уведомления о такой потере в течение 7 дней
    † в соответствии с нашими положениями и условиями
    ° Знак градусов
    Обозначает измерение, такое как температура, угол, долгота / широта и содержание алкоголя.
    Вода кипит при 100 ° C (212 ° F).

    Горизонтально и вертикально под углом 90 °. Наклон кровли к горизонту составляет 30 °.

    Широта земного экватора 0 ° (по определению). Тропики находятся примерно между 23 ° южной широты и 23 ° северной широты. Мельбурн, Австралия, расположен на 38 ° южной широты и 145 ° восточной долготы.

    " ditto mark
    ditto mark указывает на то, что слова над ним должны повторяться. (Не путать с двойными кавычками.)
     09:00 Французский 
    10:00 История
    11:00 "
    12:00 Математика
    $ знак доллара
    Знак доллара - это буква S, пересеченная одинарной или двойной вертикальной линией. Он представляет собой доллар, который является основной денежной единицей в различных странах (США, Канада, Австралия и др.), И обычно пишется перед суммой. Он может сочетаться с буквами «US» для обозначения американского доллара (и других букв для других стран, таких как Австралия, Канада, Новая Зеландия).
    Обед $ 9,99

    Для продажи 77 430 долларов США
    250,00 австралийских долларов
    CAN $
    NZ $

    # числовой знак, знак фунта, решетка, решетка
    Символ # обычно используется с числами, особенно в американском английском.

    Он также используется на стандартных телефонных клавиатурах.

    С 2007 года используется для создания хэштегов в социальных сетях.

    номера: Переходите к вопросу № 7.

    телефон: Чтобы узнать текущие расходы, наберите # 567 #.

    хэштеги: #englishclub, #tefl

    % знак процента
    Мы используем символ% для обозначения процента (то есть суммы в 100).

    NB: В формальном письме (кроме научных или технических работ) слово действительно следует писать полностью, то есть «проценты».

     чай: 10,00 долларов 
    7% налог: 0,70 долларов
    --------------
    итого: 10,70 долларов
    Вероятность завтра хорошей погоды составляет 50%.
    основной символ
    Основной символ чаще всего используется при измерениях для обозначения футов (1 фут = 12 дюймов). Он идет после числа. (Не путать с апострофом или одинарной кавычкой.)
    Его рост 6 футов.

    Опасно! НИЗКИЙ МОСТ 14 '

    символ с двойным штрихом
    Символ с двойным штрихом чаще всего используется при измерениях для обозначения дюймов (12 дюймов = 1 фут).Он идет после числа. (Не путать с двойными кавычками.)
    Принесите линейку 6 дюймов.
    ® символ зарегистрированного товарного знака
    Заглавная буква R в круге указывает, что предыдущее слово или символ является юридически зарегистрированным товарным знаком.
    MacDonald's ®

    Coca-Cola ®

    , следовательно, знак
    Хотя трехточечный символ ∴ на самом деле является математическим символом (x + 1 = 6, ∴ x = 5), он иногда используется как сокращение в неформальной письменной форме для обозначения «поэтому» или «по этой причине ".
    Получил травму, ∴ не сможет играть на следующей неделе.
    ˜ тильда
    В то время как тильда имеет особое значение в математике, программировании и испанском / португальском языках, в английском языке ее обычно используют для обозначения «приблизительно», обычно перед числом.

    Тильда также иногда используется в качестве причудливого тире или дефиса, но это не стандартное использование.

    г.р. ~ 455 г. н.э.

    Встретимся за ~ 15 минут до старта.

    символ товарного знака
    Заглавные буквы TM указывают на то, что предыдущее слово или символ является товарным знаком.
    WORD UP ™ Home Edition

    Что такое php.ini? | Поддержка HostGator

    HostGator стремится упростить перенос вашего сайта на новую учетную запись хостинга. Мы можем передать файлы веб-сайтов, базы данных, скрипты и один бесплатный перенос регистрации домена.

    Что дает мне право на бесплатный перевод?

    HostGator предоставляет бесплатные переводы для новых учетных записей в течение 30 дней после регистрации , а также для новых обновленных учетных записей. Для обновленных учетных записей это должно быть межсерверное обновление, чтобы соответствовать требованиям.Обратите внимание, что аккаунты с пониженной версией не имеют права на бесплатные переводы.

    В зависимости от типа учетной записи, которую вы регистрируете, мы предлагаем разное количество бесплатных переводов. Пожалуйста, обратитесь к таблице ниже, чтобы увидеть, что мы включаем в новые пакеты.

    Полные передачи cPanel - это количество включенных передач cPanel в cPanel.

    Макс. Ручные переводы - это максимальное количество ручных переводов, включенных в вашу учетную запись.

    Всего бесплатных переводов - это общее количество веб-сайтов, которые мы переместим для вас.

    9
    Тип счета Всего бесплатных переводов Полных переводов cPanel Макс. Ручные переводы
    ? Общий 1 1 2 1
    ? Торговый посредник 30 30 2 30
    ? 1 Безлимитный 2 10 на уровень VPS
    ? Выделенный (базовый) Безлимитный 1 Безлимитный 2 75
    ? ) Безлимитный 1 Безлимитный 2 100

    1 Хотя мы можем делать неограниченные переводы cPanel на cPanel для вас, в зависимости от вашей учетной записи, у вас будет ограниченное количество ручных переводов .

    2 Полная передача cPanel включает все домены, дополнительные домены, поддомены и настройки cPanel. Это также будет включать вашу электронную почту и учетные записи электронной почты. Обратите внимание, что для этого требуется, чтобы генератор резервных копий cPanel вашего старого хоста был активен.

    Несколько примеров: Учетная запись торгового посредника Aluminium включает до 30 бесплатных переводов. Из этих 30 у вас может быть 20 переводов cPanel на cPanel и 10 переводов вручную, или любая комбинация этих двух, что в сумме составляет 30 или меньше веб-сайтов.Другой пример: профессиональный выделенный сервер включает неограниченное количество передач cPanel на cPanel, это означает, что вы можете перенести 150 сайтов (или даже больше). Кроме того, поскольку общее количество переводов не ограничено, вы можете использовать до 100 переводов вручную.

    Для получения дополнительной информации см. Нашу статью о поддержке переводов, свяжитесь с нашим отделом переводов по адресу transfer@hostgator.