Intereting Posts
Компиляция расширения PHP как не потокобезопасное Реализация разрешений на основе репутации PHP: попытка создать новую строку с помощью "\ n" Неустранимая ошибка: класс «TCPDF» не найден Как использовать настройки доктрины Master / Slave из команд Symfony2 Console Определение ошибки тайм-аута кривизны PHP Как передать значение внутри модели для проверки в правилах Как установить значение по умолчанию для строки в PHP, если другая строка пуста? Невозможно установить доктрину mongodb в symfony2 с композитором «Рамка тестов выходит неожиданно», когда тест PASSES, но ОТКАЗЫВАЕТ изящно Как разобрать блок комментариев PHP-стиля PHP? Magento добавляет параметр referer param в getLoginPostUrl () Можно ли установить пакет из репозитория Gitlab с помощью Composer? Продолжайте получать 403 Запрещено из Google API (с использованием клиентской библиотеки v1 для PHP) Несколько переменных в 1 в URL-адресе

Сравнение переменных PHP

Как я могу сравнить две переменные строки, было бы так:

$myVar = "hello"; if ($myVar == "hello") { //do code } 

И чтобы проверить, присутствует ли переменная $ _GET [] в URL-адресе, было бы так:

 $myVars = $_GET['param']; if ($myVars == NULL) { //do code } 

  $myVar = "hello"; if ($myVar == "hello") { //do code } $myVar = $_GET['param']; if (isset($myVar)) { //IF THE VARIABLE IS SET do code } if (!isset($myVar)) { //IF THE VARIABLE IS NOT SET do code } 

Для вашей справки, что топтало меня в течение нескольких дней, когда я начинал PHP:

 $_GET["var1"] // these are set from the header location so www.site.com/?var1=something $_POST["var1"] //these are sent by forms from other pages to the php page 

Для сравнения строк я бы рекомендовал использовать оператор triple equals по двойным равным.

 // This evaluates to true (this can be a surprise if you really want 0) if ("0" == false) { // do stuff } // While this evaluates to false if ("0" === false) { // do stuff } 

Для проверки переменной $ _GET я скорее использую array_key_exists, isset может возвращать false, если ключ существует, но содержимое равно null

что-то вроде:

 $_GET['param'] = null; // This evaluates to false if (isset($_GET['param'])) { // do stuff } // While this evaluates to true if (array_key_exits('param', $_GET)) { // do stuff } 

Когда это возможно, избегайте выполнения заданий, таких как:

 $myVar = $_GET['param']; 

$ _GET, зависит от пользователя. Таким образом, ожидаемый ключ может быть доступен или нет. Если ключ недоступен при доступе к нему, будет вызвано уведомление о времени выполнения. Это может заполнить ваш журнал ошибок, если уведомления включены или спам ваших пользователей в худшем случае. Просто выполните простой array_key_exists, чтобы проверить $ _GET, прежде чем ссылаться на ключ на нем.

 if (array_key_exists('subject', $_GET) === true) { $subject = $_GET['subject']; } else { // now you can report that the variable was not found echo 'Please select a subject!'; // or simply set a default for it $subject = 'unknown'; } 

Источники:

http://ca.php.net/isset

http://ca.php.net/array_key_exists

http://php.net/manual/en/language.types.array.php

Если вы хотите проверить, установлена ​​ли переменная, используйте isset()

 if (isset($_GET['param'])){ // your code } 

Чтобы сравнить переменную со строкой, используйте следующую команду:

 if ($myVar == 'hello') { // do stuff } 

Чтобы узнать, установлена ​​ли переменная, используйте isset (), например:

 if (isset($_GET['param'])) { // do stuff } 

Вся эта информация указана на веб-сайте PHP в разделе «Операторы»

http://php.net/manual/en/language.operators.comparison.php