Операторы PHP (часть 2) |
Введение
Операторы в PHP — обширная тема и не всегда до конца понятная.
Одна из причин всех этих недоразумений заключается в том, что некоторые операторы очень просты и могут быть реализованы в коде за считанные секунды после прочтения о них.
Вместо этого другие,
почти неизвестны, и после изучения их все же лучше использовать с осторожностью.
Хотя операторы относятся к категории «основы языка», неправильное их использование или опечатка при их использовании очень трудно определить.
Может случиться так, что вы потеряете более получаса своего времени, просто пытаясь отладить какой-то код, а затем обнаружите, что вместо символа неравенства был вставлен символ равенства.
Личный опыт (вздох).
После того, как вы узнали об основных типах операторов PHP в моем предыдущем посте в блоге.
Ниже вы увидите оператор ссылки, операторы присваивания и некоторые плюшки, которые вы можете использовать, чтобы произвести впечатление на своих коллег.
Основы PHP для опытных разработчиков
Этот пост в блоге является частью серии под названием «Основы PHP для опытных разработчиков«.
В этой серии вам предстоит изучите основы PHP но вы также увидите много мелких советов и особенностей, которые вы найдете только в книгах и расширенные учебные пособия.
В зависимости от вашего уровня вы можете просто читать их время от времени или вообще пропускать.
Вам не обязательно учить наизусть все, что здесь написано!
Просто прочитайте, узнайте, что существуют определенные функции или методы, и вернитесь к этим страницам, когда почувствуете, что готовы к следующему уровню.
Основы PHP для опытных веб-разработчиков (часть 1)
Конструкция и комментарии PHP 7
Как использовать переменные (PHP 7)
Составная переменная в PHP (массивы, объекты и др.)
Операторы PHP (часть 1)
Операторы PHP (часть 2)
Кроме того, этот пост в блоге разделен на несколько основных разделов.
Назначить оператора
Ссылочный оператор
Оператор сравнения
Оператор контроля ошибок
Оператор обратной галочки
Вывод
Назначить оператора
Как вы видели в предыдущей главе,
если вам не нужны пустые или нулевые переменные, каждая переменная должна иметь значение.
но как нам присвоить значение переменной?
Чтобы присвоить значение переменной, PHP предоставляет веб-разработчикам ряд операторов, называемых операторами присваивания.
Они берут за основу символ равенства «=».
Синтаксис состоит из трех факторов:
Первый — это переменная, на которую указывает ее имя, посередине — оператор присваивания, третий элемент оператора — это значение, которое может быть разного типа.
Вот пример:
$variable = «это строка»;
Оператор присваивания можно комбинировать с любыми другими бинарными и арифметическими операторами, что дает программисту возможность сделать свой код более быстрым для написания и более легким для чтения.
Вот несколько примеров составных операторов присваивания:
$sum = 1 + 1;
$sum += 100;
// this is equal to $sum = $sum + 100;
// $sum is equal to 102;
$string = "My name is:";
$string .= "Nico";
// this is equal to $string = $string . "Nico";
// $string is equal to "My name is Nico
Распространенной ошибкой, на которую всегда должны обращать внимание даже опытные программисты, является написание оператора присваивания, когда имеется в виду оператор равенства. «==».
Просто подумайте о неправильном использовании последнего в консенсусе, таком как оператор if,
$var = "Hello";
if ($var = "Goodbye") {}
В то время как с оператором равенства результат этого условия был бы ложным, в этом случае переменной $var правильно присваивается новое значение «До свидания», поэтому синтаксический анализатор PHP оценивает условие как истинное.
Техника, позволяющая избежать этой ошибки, используемая некоторыми экспертами это так называемое состояние Йоды ,
Это соглашение использует тот факт, что PHP не позволяет вам изменять значение константы,
Если вы поместите константу в левой части условия, PHP выдаст предупреждение, если вы совершите ошибку при написании кода.
Хотя доказано, что этот метод работает, вам решать, стоит ли его использовать в условиях удобочитаемости и личного стиля.
Ссылочный оператор
Вот один из самых странных и сложных для понимания символов, которые мне встречались на моем пути к овладению языком (до прихода которого еще далеко).
В PHP есть два разных способа использования присваивания переменной:
по значению или по ссылке.
По умолчанию, все скалярные значения присваиваются по значению,
Если вы хотите присвоить скалярное значение через ссылку, можно использовать символ знак равно
$firstPerson = "Nico";
$secondPerson =& $firstPerson;
$secondPerson = "John";
echo $firstPerson;
Для объектов,
происходит ровно наоборот,
все объекты всегда назначаются по ссылке,
Если вы попытаетесь использовать знак равно символ объекта PHP, он выдаст ошибку.
Смущенный?
Вот объяснение,
Эта разница возникает из-за того, что после многих лет разработки и совершенствования PHP оптимизировал этот процесс, сделав присвоение переменных максимально быстрым.
Это возможно благодаря использованию контейнера под названием называется,
Призывает состоит из четырех частей:
значение, тип, Is_ref и Refcout.
Этот контейнер содержит всю информацию о переменной, такую как длина, размер, точное положение в памяти.
Когда мы вызываем значение по ссылке, мы указываем точный элемент, который содержит его значение.
Вот подробное объяснение этих контейнеров
Операторы сравнения
Время домашних дел…
Один равен одному?
Остановитесь на минуту и напишите последнее предложение на PHP:
Сделанный?
Посмотрим на результат.
Чтобы выполнить предыдущую операцию, вам понадобятся функции PHP, называемые операторами сравнения.
Если быть точным, в этой категории 9 элементов, и все они очень просты в освоении.
Фактически,
вы уже узнали многие из них в начальной школе.
Чтобы сделать сравнение, вам нужен один из символов и два элемента для сравнения, каждый из которых расположен рядом с символом:
Вот операторы:
Больше чем: символ >
Чтобы условие было истинным, элемент слева должен быть больше элемента справа (это относится не только к числам, но и к строкам, учитывая положение в алфавитном порядке, а заглавные буквы считаются меньше, чем строчные).
Больше или равно к: символ >=
достаточно пояснительно правильно?
Меньше чем: символ <
прямо противоположно больше, чем
Меньше или равно к: символ <=
противоположность Больше или равно
Не равно: символ <>
Чтобы быть правдой, два значения должны быть разными
Эквивалентность: символ ==
Чтобы быть правдой, два значения НЕ должны быть разными
Идентификация: символ ===
Чтобы быть правдой, два значения должны не только иметь одно и то же значение, но и относиться к одному и тому же типу.
$int = 123;
$str = "123";
($int === $str)
Не эквивалентно: символ !=
см. <>
Не идентичны: символ !==
Определенным образом его можно отождествить с идентичным оператором ===,
Результат этого утверждения истинен, если два сравниваемых элемента не имеют одинакового значения и не относятся к одному и тому же типу.
Обратите внимание, что если два элемента имеют одинаковое значение, но относятся к двум разным типам, они не идентичны.
То же самое происходит, если два значения принадлежат одному и тому же типу, но не имеют двух одинаковых значений.
Вот два оператора, которые не часто встречаются и причина, по которой эта серия называется «Основы PHP для опытного веб-разработчика«.
оператор контроля ошибок
Вы когда-нибудь видели оператора @?
Это называется операторами контроля ошибок и используется для подавления ошибок в PHP.
Здесь вы найдете больше информации об операторе контроля ошибок
В настоящее время,
Как вы можете себе представить, скрытие ошибок не считается хорошей практикой и экспоненциально усложняет процесс отладки.
Зачем тогда использовать этот оператор?
Давайте сделаем пример,
Некоторое время назад я опубликовал пару статей, в которых описал новые функции и устаревание PHP 7.3.
Одно из отличий между последней и предыдущей версиями этого языка программирования касается preg_match() function и регулярное выражение, которое требуется функции в качестве одного из параметров.
Если вы активно использовали эту функцию в своих приложениях и все еще хотите обновить код до PHP7.3 вместо того, чтобы устранять все возникающие ошибки, вы можете просто отключить ошибки,
обновите сервер до новой версии PHP и исправьте ошибки одну за другой.
Обратите внимание, что этот оператор работает только в том случае, если библиотека, используемая рассматриваемой функцией, использует стандартные отчеты об ошибках PHP.
Конечно,
Я не рекомендую этого делать, но я здесь, чтобы сообщить вам, что такая возможность существует.
Вам решать, использовать ли его и как использовать.
Вот пример синтаксиса:
$db = @mysqli_connect();
оператор обратной кавычки
Другой оператор, который редко используется, называется оператором обратной кавычки.
Использование этого оператора эквивалентно использованию оболочка_exec() команда,
Он выполняет команду, требуемую в виде строки в качестве параметра через оболочку, и в случае успешного выполнения возвращает саму строку.
echo `touch index.php`;
Совет, который я могу дать вам и экономно использовать эти две команды,
Поскольку речь идет об операциях над файловой системой, не нужно быть гением, чтобы понять разрушительную силу этих команд.
Используйте их осторожно,
Очистите текст и, прежде всего, никогда не используйте внешний ввод, например строки, введенные пользователями, в качестве параметра.
Вывод
Держу пари, ты чувствуешь себя подавленным? не так ли?
Это нормально.
Слишком много информации вместе может иметь такой эффект.
Как я уже несколько раз писал в этой серии, не верьте, что нужно учить сразу все, что вы читаете.
Фактически,
Я думаю, что раз вы прочитали эту тему, вы должны потратить время, чтобы усвоить все это.
Не поймите меня неправильно,
некоторые из этих операторов совсем не сложны, и я думаю, важно использовать их, как только вы закончите читать этот пост.
Вместо этого для других, мех.
Редко вы будете их использовать, наоборот, следуя лучшим практикам, лучше не использовать их при все.
Один совет, который я считаю важным дать вам, — это принять к сведению этот пост (если хотите, добавьте его в закладки), прочитать его еще раз и просмотреть то, что в нем написано, через пару недель.
Проанализируйте, какими операторами вы пользовались чаще всего, а какими не пользуетесь вообще.
Затем проверьте, можно ли упростить сценарии, которые вы использовали в последние недели, с помощью некоторых операторов, описанных на этих страницах.
Вот оно!
Вы только что обнаружили секрет изучения и правильной реализации все старые и новые функции PHP.
Теперь вы знаете основы, пора приступать к практике,
(Это партнерская ссылка, цена для вас остается прежней, и это помогает мне улучшать этот контент.)