• strict warning: Non-static method view::load() should not be called statically in /var/www/codeacademy/sites/all/modules/views/views.module on line 1113.
  • strict warning: Declaration of views_handler_field::query() should be compatible with views_handler::query($group_by = false) in /var/www/codeacademy/sites/all/modules/views/handlers/views_handler_field.inc on line 0.
  • strict warning: Declaration of content_handler_field::element_type() should be compatible with views_handler_field::element_type($none_supported = false, $default_empty = false, $inline = false) in /var/www/codeacademy/sites/all/modules/cck/includes/views/handlers/content_handler_field.inc on line 0.
  • strict warning: Declaration of views_handler_sort::options_validate() should be compatible with views_handler::options_validate($form, &$form_state) in /var/www/codeacademy/sites/all/modules/views/handlers/views_handler_sort.inc on line 0.
  • strict warning: Declaration of views_handler_sort::options_submit() should be compatible with views_handler::options_submit($form, &$form_state) in /var/www/codeacademy/sites/all/modules/views/handlers/views_handler_sort.inc on line 0.
  • strict warning: Declaration of views_handler_sort::query() should be compatible with views_handler::query($group_by = false) in /var/www/codeacademy/sites/all/modules/views/handlers/views_handler_sort.inc on line 0.
  • strict warning: Declaration of views_handler_filter::options_validate() should be compatible with views_handler::options_validate($form, &$form_state) in /var/www/codeacademy/sites/all/modules/views/handlers/views_handler_filter.inc on line 0.
  • strict warning: Declaration of views_handler_filter::query() should be compatible with views_handler::query($group_by = false) in /var/www/codeacademy/sites/all/modules/views/handlers/views_handler_filter.inc on line 0.
  • strict warning: Declaration of views_plugin_query::options_submit() should be compatible with views_plugin::options_submit($form, &$form_state) in /var/www/codeacademy/sites/all/modules/views/plugins/views_plugin_query.inc on line 0.
  • strict warning: Declaration of views_plugin_style_default::options() should be compatible with views_object::options() in /var/www/codeacademy/sites/all/modules/views/plugins/views_plugin_style_default.inc on line 0.
  • strict warning: Declaration of views_plugin_row::options_validate() should be compatible with views_plugin::options_validate(&$form, &$form_state) in /var/www/codeacademy/sites/all/modules/views/plugins/views_plugin_row.inc on line 0.

Переменные PHP

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

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

Вывод из всего этого один: все понятия, с которыми мы сталкиваемся в науке и в жизни, имеют свои определения, примитивные и понятные, те, с которыми мы знакомы с детства и которые используем в нашей обыденной жизни.

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

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

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

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

В программе все аналогично, вместо корзины используется переменная.

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

Переменные в PHP объявляются знаком "$", а имя переменной не может начинаться с цифры.

$1_rebenok - так называть переменную нельзя,
$ребенок_1 - а так можно.

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

<?php
 
$rebenok_1 = 1;
$rebenok_2 = 2;
$rebenok_3 = 3;
$rebenok_4 = 4;
 
$korzina = $rebenok_1 + $rebenok_2 + $rebenok_3 + $rebenok_4;

echo $korzina;

?>

Итак, в нашей переменной $korzina, мы получим общее количество грибов, которое равно 10. Оператор echo выводит значение переменной на экран.

Давайте представим, что нам нужен список имен всех учеников класса, разделенный через запятую.

<?php

$pupil_1 = 'Вася';
$pupil_2 = 'Петя';
$pupil_3 = 'Катя';
$pupil_4 = 'Таня';

$pupil_list = $pupil_1 . ',' . $pupil_2 . ',' . $pupil_3 . ',' . $pupil_4;

echo $pupil_list;

?>

У нас есть переменные $pupil_1...$pupil_4 и переменная $pupli_list. В этой небольшой программке мы объеденяем имена учеников запятой.

Соединение двух строк в программировании называется конкатенацией. Для этого существует два метода:

Метод 1:

$stroka = "Привет";
$stroka =  $stroka . " " . "мир";
echo $stroka;//  Привет мир

Метод 2: ( более компактный )

$stroka = "Привет";
$stroka .= " ";
$stroka .= "мир";

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

$schetchik = 0;
$schetchik++; // увеличение переменной на 1
$schetchik--; // уменьшение переменной на 1

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

++$schetchik;
--$schetchik;

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

В работе с переменными важно понимать, что такое присвоение. Присвоение - это "изменение" значения переменной.

Представим, вы получаете зарплату 30.000 рублей. $money – переменная, которая будет обозначать количество денег, которые у вас есть.

1-го числа $money = 30.000;
10-го числа $money = 15.000;
20-го числа $money = 10.000;
30-го числа $money = -5.000

До конца месяца денег не хватило, и вы взяли 5000 в долг и $money - приняло отрицательное значение, тем самым зависимо от ваших расходов значение переменной изменяется, ей присваивается новое значение, с помощью оператора "=".

Итак подытожив все вышеизложенное, переменная - это средство хранения любой информации, небходимой программе для ее успешного выполнения. Значение переменной может меняться по ходу выполнения, а вся информация располагается в оперативной памяти компьютера. Поэтому если вы запросили какую то информацию у пользователя сайта, вероятнее всего через HTML форму, то ее нужно сохранить в каком-либо более надежном хранилище, например базе данных. Но об этом в следующих статьях.

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

Если ты забыл как настроить инструментарий для работы с серверным языком PHP, то тебе сюда - Настройка инструментария для работы с PHP (Денвер)

Ну и как всегда, если у тебя есть какие-то вопросы или пожелания - оставляй их в комментариях!