Язык PHP: Основы
Основы / Математика / Строки и текст / Массивы и списки / Разные ошибки / О сложном
- Что такое переменная?
- Как работать с глобальными переменными?
- Как реализовать условия в коде?
- Как реализовать цикл и повторное выполнение в коде?
Что такое переменная?
Простое описание понятия "переменная", специально для начинающих.
Введение
Давайте представим, что у вас есть несколько шкатулок, в одной вы храните сладости, в другой деньги, а третья вообще пустая. Все шкатулки одинаковые и единственная возможность узнать что в них лежит, это посмотреть на наклейки с именами шкатулок - "сладости", "деньги", "разное".
Шкатулки это аналог переменных в программировании!
- То что в них лежит, это
Значение
переменной - Наклейка на шкатулке это
Имя
переменной.
Вы всегда можете высыпать все из шкатулки сладости и положить туда что-то другое. Тоже самое и с переменными, вы можете менять их содержимое, т.е. Значение
. Шкатулки можно очищать полностью, не заполняя их, тоже самое и с переменными в программировании. По имени шкатулки вы примерно понимаете - для чего нужна эта шкатулка, тоже самое вы можете понять по названиям переменных - их предназначение!
Переменные в PHP
Все переменные в php начинаются с символа доллар $
, а далее следует имя переменной из англ букв, цифр и знака подчеркивания _
.
Названия переменных никогда не начинаются с цифр! Это закон! Но вот содержать цифры в названии могут, только не первым символом.
$box
// это просто одинокая переменная
// с именем `box`
Создавать переменные в php не нужно, достаточно просто присвоить переменной значение и php поймет, что переменную нужно создать если ее еще нет!
$box = 123;
123
здесь это целое число, значение переменной. Используем самый простой способ посмотреть значение переменной в develnext, это pre()
:
$box = 123;
pre($box);
Просто запомните, что
pre
показывает вам значение переменных такое, какое оно есть на самом деле без искажений.
Сложные примеры
Вообще переменной в php можно присвоить что угодно, не только число!
Значения переменных бывают разных типов, например - число, строка, десятичное число, пустота, массив, объект, булево (да/нет или правда/ложь).
Давайте попробуем присвоить строку:
$text = 'Привет мир';
// или
$text = "Привет мир";
Строки в php нужно заключать в кавычки - одинарные или двойные, вы можете сделать строку, которая содержит просто число.
Важно также знать о булевых значениях (boolean) - да/нет. Представьте что это по сути число, которое может быть только 0 или 1, 0 это ложь, а 1 это правда. Теперь представьте, что вместо 0 мы пишем false
, а вместо 1
пишем true
, что с английского переводится как ложь и правда.
$isEnemy = true;
$isPlayer = false;
Как работать с глобальными переменными?
Кратко о том, что такое глобальная переменная и как с ней работать в php.
Глобальная переменная - это такая переменная, которая будет доступна вам в любом участке кода, она имеет уникальное название в рамках всей программы.
Для работы с глобальными переменными в php есть 2 механизма.
Первый способ
Используйте посредника $GLOBALS
, это массив всех глобальных переменных. Через него можно читать и писать глобальные переменные, например:
$GLOBALS['myVar'] = 'Hi, World';
alert($GLOBALS['myVar']);
Второй способ
Используйте ключевое слово global
, его надо использовать как при записи, так и при чтении глобальной переменной, т.к. всегда, когда вы хотите использовать глобальную переменную, вот так:
global $myVar;
$myVar = 'Hi, World';
При чтении:
global $myVar;
alert($myVar);
Как реализовать условия в коде?
Описание операторов для условий - if, else, elseif и switch.
В php за условия отвечает оператор с ключевым словом if
, внутри него заключается условие. Например так:
if ($this->edit->text == "Hello") {
alert('Hello, Friend!');
}
Здесь код, который покажет сообщение, если ввести текст Hello
.
Обратите внимание на двойное равно в условии! В условии на равенство можно проверить только через двойное равно! Это очень важно в php, иначе ваша проверка не будет работать.
Если вы хотите выполнить код, который возникнет в альтернативной ситуации, т.е. "иначе" используйте ключевое слово else
, например так:
if ($this->edit->text == "Hello") {
alert('Hello, Friend!');
} else {
alert('Goodbye');
}
В этом случае если ввести какое-нибудь другое слово, не Hello
, программа выведет сообщение Goodbye
.
Различные способы сравнения
- Равно или не равно
Используйте
==
для равно, а для не равно!=
, например:
if ($a != $b) { // если $a не равно $b
// ...
}
- Больше или меньше
Для сравнения чисел можно использовать операторы больше
>
и меньше<
как в математике:
if ($a > $b) { // если $a больше $b
// ...
}
- Отрицание условия
Используйте оператор отрицания
!
для этого и скобки:
if (!($a == $b)) { // если $a не равно $b
}
Как реализовать цикл и повторное выполнение в коде?
Что такое цикл, о циклах for, foreach, while и do.
Циклы в php это способ выполнить один и тот же код несколько раз, при этом сам код дублировать не нужно. Есть несколько видов циклов, есть простые, есть более функциональные.
Простой цикл
Для начала, рассмотрим ситуацию, у вас есть код, который надо повторить 3 раза. Это можно сделать циклом for
:
for ($i = 0; $i < 3; $i = $i + 1) {
echo "Привет Мир!\n";
}
Данный пример выведет 3 раза сообщение
Привет Мир
в окно сборки вашего проекта в develnext.
\n
- это специальное сочетание символов, которое обозначает переход на новую строку, просто запомните это.
В цикле используется переменная $i
, это как счетчик, который считает, сколько раз мы выполнили код. Мы определяем правила работы нашего счетчика $i
:
$i = 0
- так мы задаем начальное значение счетчика$i < 3
- а здесь проверяем, счетчик еще меньше трех? если да то продолжаем повторять, если нет заканчиваем.$i = $i + 1
- а так мы увеличиваем на счетчик каждый повтор.
Повторы в циклах программисты называют часто словом
Итерация
!
На самом деле в php выражение $i = $i + 1
можно заменить более коротким, неудобно писать постоянно такие длинные выражение, поэтому счетчик увеличивать на 1 можно так $i++
:
for ($i = 0; $i < 3; $i++) {
echo "Привет Мир!\n";
}
Вместо
$i++
в php можно использовать и другое выражение$i += 1
, это одно и тоже.
Примитивные циклы
К ним мы относим такие циклы, который повторяют выполнение вашего кода до выполнения определенного условия, обычно в них нет никаких счетчиков, это цикл while
:
while ($this->button->visible) {
echo "Кнопка видима...\n";
sleep(1);
}
Здесь пока свойство кнопки
visible
будет равноtrue
цикл будет повторяться.
! Осторожно, такой код будет вызывать лаги и зависания вашей программы, если вы его не поместите в поток или в фоновое выполнение (см. модульный компонент скрипт).
Есть вторая версия этого цикла, все тоже самое, только условие проверяется не сверху, а снизу:
do {
echo "Кнопка видима...\n";
sleep(1);
} while ($this->button->visible);
В данном цикле 1 повтор будет выполнен всегда, т.к. условие проверяется только в конце. Но иногда такие циклы удобны.