Чат веб-разработчиков
Переменные в PHP

Переменные в PHP

Всем привет. Сегодня разговор пойдёт о переменных в языке PHP. О том, что это такое и как с этим работать читайте ниже.

Начнём с определения.
Переменная – это какое-то значение, которому соответствует определённое имя.
Как в математике, x = 2 – переменная x равна двум. Здесь x – имя переменной, 2 – её значение.

В PHP переменные начинаются со знака "$".
Например: $x.

Чтобы присвоить переменной значение, используется знак "=", пример:

Код доступен только после покупки курса PHP для начинающих.

Эта операция так и называется – присваивание переменной.

Помимо этого, переменную можно просто объявить, вот так:

Код доступен только после покупки курса PHP для начинающих.

Сейчас это выглядит довольно бессмысленно. Но позже мы обязательно рассмотрим, для чего это может применяться. Пока что просто запомните, что такое возможно, и это называется объявлением переменной.

Разумеется, переменной можно присвоить и результат целого выражения. Пример:

Код доступен только после покупки курса PHP для начинающих.

А затем использовать её:

Код доступен только после покупки курса PHP для начинающих.

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

Код доступен только после покупки курса PHP для начинающих.

Стоит обратить внимание, что имена переменных в PHP являются регистрозависимыми. То есть $x и $X – две разные переменные.

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

Код доступен только после покупки курса PHP для начинающих.

Пример плохого имени:

Код доступен только после покупки курса PHP для начинающих.

Кроме того, есть определённые правила, которые не влияют на работоспособность кода, но которых придерживаются все программисты на PHP. Это позволяет легко читать код других программистов, а это очень важно, так как над крупными проектами работает всегда несколько человек, и им обязательно приходится читать код друг друга. Повторюсь, эти правила чрезвычайно важны, потому что в будущем, когда Вы придёте работать на работу, Ваш код будут читать и изменять другие программисты, подумайте о них уже сейчас. Итак, перечислим эти правила.

  • Имя переменной должно состоять только из английских слов, и уж тем более только из букв английского алфавита.
    Никаких $imyaKota или тем более $имяКота, строго $catName
  • Имя переменной должно начинаться с маленькой буквы, а следующие слова, содержащиеся в её имени, должны начинаться с большой буквы. Этот стиль называется СamelCase, или "ВерблюжийРегистр"
    Никаких $catname или $CatName, только $catName.
Читайте также
Комментарии


morok.black
morok.black
<?php
echo 'Решение без переменной.', '<br>';
echo 'Условия :', '<br>';
$a = 3;
$b = 5;
echo 'a = ', $a, '<br>';
echo 'b = ', $b, '<br>', '<br>';
$b = $a * $b;
echo 'Решение :', '<br>';
echo 'a = ', $a = $b / $a, '<br>';
echo 'b = ', $b = $b / $a, '<br>', '<br>', '<br>';
echo 'Решение с переменной.', '<br>';
echo 'Условия :', '<br>';
$c = 3;
$d = 5;
echo 'c = ', $c, '<br>';
echo 'd = ', $d, '<br>', '<br>';
$clipboard = $c;
echo 'Решение :', '<br>';
echo 'c = ', $c = $d, '<br>';
echo 'd = ', $d = $clipboard;
ivashkevich
ivashkevich

Отлично! А ещё можно за счёт сложения/вычитания решить задачу:

$a = 3;
$b = 5;
$a = $a + $b; //a = 8
$b = $a - $b; //a = 8, b = 8-5 = 3
$a = $a - $b; //a = 8-3 = 5
Anril34
Anril34
$a = 10;
$b = 5;
$b = $b - $a;
$a = $a + $b;
$b = $a - $b;
echo $a, $b;
ivashkevich
ivashkevich

И так тоже можно =)

phenomg
phenomg
$a = 2;
$b = 3;
echo "Решение без использования перменной: <br/>";

echo "a = ".$a."<br/>";
echo "b = ".$b."<br/>";

$b = $a + $b;
$a = $b - $a;
$b -= $a;

echo "a = ".$a."<br/>";
echo "b = ".$b."<br/>";

$a = 2;
$b = 3;

echo "Решение с использованием перменной: <br/>";

echo "a = ".$a."<br/>";
echo "b = ".$b."<br/>";

$с = $a;
$a = $b;
$b = $с;

echo "a = ".$a."<br/>";
echo "b = ".$b;
ivashkevich
ivashkevich

Отличный вариант домашнего задания!

vityan97@gmail.com
vityan97@gmail.com

Мне кажется здесь не нужны двойные ковычки, если код написан таким способом, читал что двойные ковычки работают медленнее на 30-40%, а если уж двойные ставить, то можно в них же и определять переменную. Или это не корректно?

ivashkevich
ivashkevich

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

Простой пример:

$x = 2;
echo "x = $x"; //выведет x = 2
echo 'x = $x'; //выведет x = $x

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

vityan97@gmail.com
vityan97@gmail.com

Вот моё решение

echo "Замена а и b с помошью переменной с<br/>";
$a=3;
$b=5;
echo "a=$a b=$b<br/>";
$c=$a;
$a=$b;
$b=$c;
echo "a=$a b=$b<br/>";
echo "Замена a и b без помощи переменных<br>";
$a=3;
$b=5;
echo "a=$a b=$b<br>";
$a=$a*$b;
$b=$a/$b;
$a=$a/$b;
echo "a=$a b=$b";
ivashkevich
ivashkevich

Отлично :)

SBTesla
SBTesla
<?php
echo 'Домашнее задание'.'<br>';
// задаем значения переменным
$a = 3;
$b = 5;
// выводим значения переменных
echo " значение переменной а:".$a.'<br>';
echo " значение переменной b:".$b.'<br>';
// изменяем значение переменных а и б
$c = $b - $a; // отнимаем 5- 3  в переменной с
$a = $c + $a;// прибавляем к переменной а 2
$b = $b - $c;// отнимаем из переменной 2
// выводим  сумму измененых переменых
echo 'значение переменной а изменилось на:'.$a.'<br>';
echo 'значение переменной б изменилось на:'.$b.'<br>';
serb2017
serb2017
<?php
echo "Начальные значения";
$a=2;
$b=5;
echo '<br>','a=', $a , '     b=', $b ;
/*Решение*/
$a = $a * $b ;
$b = $a / $b ;
$a = $a / $b ;
echo '<br>' , "Конечные значения";
echo '<br>','a=', $a , '     b=', $b ;

На экране:
Начальные значения
a=2 b=5
Конечные значения
a=5 b=2

ivashkevich
ivashkevich

Очень хорошо, этот вариант еще не предлагали)

markEvillive
markEvillive
<h1>Изменение значения переменных</h1>
      <?php
        $a = 3;
        $b = 5;
        echo "<h3>Исходные значения </h3>";
        echo "a = $a , <br>";
        echo "b = $b , <br> ";
        echo "<h3>Результат</h3>";
        $c = $a + $b;
        echo "c = $c <br>";
        $a = $c - $a;
        $b = $c - $b;
        echo "a = $a <br>";
        echo "b = $b";
      ?>
ivashkevich
ivashkevich

Зачем что-то суммировать и вычитать? Можно просто временно положить в $c значение $a, в $a присвоить $b, в $b положить значение из $c.

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

P.S. в HTML по-правильному после тега <h1> должен идти <h2>, а "внутри" уже <h3>. То есть должен соблюдаться порядок вложенности. Можете почитать об этом в уроке про заголовки.

Dasgonder
Dasgonder
$a = 3;
$b = 5;
echo "a={$a} b={$b}\n";
$c = $a;
$a = $b;
$b = $c;
echo "a={$a} b={$b}";

Просто меняем местами, верно? Не вычисляем )

$a = 3;
$b = 5;
echo "a={$a} b={$b}\n";
[$a,$b] = [$b,$a];
echo "a={$a} b={$b}";
ivashkevich
ivashkevich

Отлично, что сказать :)

baha
baha

Я изучил д/з других пользователей и решил вот так:

$k = 3;
$m = 5;
echo 'k = ', $k, '<br>';
echo 'm = ', $m, '<br>';
$n = $k * $m;
echo 'k = ', $n / $k, '<br>';
echo 'm = ', $n / $m, '<br>';
echo '<br>';
ivashkevich
ivashkevich

Ну вот, прекрасное решение!=)

Koala
Koala

Через переменную

        echo '<br>';
        $a = 3;
        $b = 5;
        $c = $a;
        $a = $b;
        $b = $c;
        echo $a ,"<br>", $b;

Без переменной

        echo '<br>';
        $a = 3;
        $b = 5;
        $a = $a + $b;
        $b = $a - $b;
        $a = $a - $b;
        echo $a ,"<br>", $b;

P.S: В начале каждого кода <br> делал одном файле :)

slasva
slasva
<?php
$a=3;$b=5;$c=$a+$b;$a=$c-3;$b=$c-5;echo $a;echo $b;echo '<br>';
$a=$b+2;$b=$a-2;echo $a;echo $b;
?>
ivashkevich
ivashkevich
  1. Не надо всё в одну строчку.
  2. Код не будет работать, если подставить другие исходные данные.
nemo.dont@gmail.com
nemo.dont@gmail.com

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

<?php
echo '№1. Решение с переменной', '<br>';
$a=3;
$b=5;
$c=2;
echo 'a=', $a+$c, '<br>';
echo 'b=', $b-$c, '<br><br>';

echo '№2. Решение без переменной', '<br>';

echo 'a=', $a+2, '<br>';
echo 'b=', $b-2, '<br>';
?>
ivashkevich
ivashkevich

Смотрите. В начале мы имеем 2 переменные - $a и $b. Мы должны написать какой-то код, который поменяет значения в этих переменных местами. То есть должно получиться вот так:

<?php
$a = 5;
$b = 9;

// ... здесь нужно придумать что написать

echo $a; // выведет 9
echo $b; // выведет 5

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

nemo.dont@gmail.com
nemo.dont@gmail.com

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

echo '№1. Решение с переменной', '<br>';
$a=3;
$b=5;

$c=$a;
$a=$b;
$b=$c;

echo $a, '<br>';
echo $b, '<br><br>';

echo '№2. Решение без переменной', '<br>';

$a=3;
$b=5;

$a=$a+$b;
$b=$a-$b;
$a=$a-$b;

echo $a, '<br>';
echo $b, '<br><br>';
ivashkevich
ivashkevich

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

echo '№1. Решение с переменной<br>';
Fox-24
Fox-24

Спасибо за урок:)

<?php
// Начальные значения переменных
$a = 3;
$b = 5;

// Вывод
echo "Пока что переменная А равняется $a, а переменная B равняется $b.<br>";

// Если мы хотим изменить переменную, то сделаем так:
$c = $a + $b;

$a = $c - $a;
$b = $c - $b;

echo "Теперь переменная А равняется $a, а переменная B равняется $b.";

//Если мы хотим изменить переменную без использования переменной С, то сделаем так:

$a = $b + $a;
$b = $a - $b;
$a = $a - $b;

echo "Теперь переменная А равняется $a, а переменная B равняется $b.";
Fox-24
Fox-24

В первом варианте конечно можно и так, но почему-то первое что хочется сделать это сложить или вычесть =))

// Если мы хотим изменить переменную, то сделаем так:
$c = $a;
$a = $b;
$b = $c;

echo "Теперь переменная А равняется $a, а переменная B равняется $b.";
ivashkevich
ivashkevich

Отлично! Именно в таком варианте и ожидалось =)

dsokol-ok
dsokol-ok
<?php

echo 'Вариант с использованием переменной: <br>';

$a = 3;
$b = 5;
echo 'Входные данные: a = ', $a,', b = ', $b, ';<br>';

$c = $a;
$a = $b;
$b = $c;
echo 'Результат: a = ',$a, ', b = ',$b,';<br><br>';

echo 'Вариант без использования переменной: <br>';

$a = 3;
$b = 5;
echo 'Входные данные: a = ', $a,', b = ', $b, ';<br>';

$a = $a + $b;
$b = $a - $b;
$a = $a - $b;
echo 'Результат: a = ',$a, ', b = ',$b,';<br><br>';

echo 'Профит!';
vlad.holomev.03102005@mail.ru
vlad.holomev.03102005@mail.ru

А так можно?

$a=3;
$b=5;
$c=5;
$b=$b-$c;
$b=$a+$b;
$c=2;
$a=$a+$c;
ivashkevich
ivashkevich

Что-то как-то сложно. Можно проще - смотрите другие решения.

paradise1983@icloud.com
paradise1983@icloud.com
<html>
<head>
    <title>Иван</title>
    </head>
    <body>
    <h1>Переменные в PHP</h1>
        <h2>Задание 1</h2>
        <p>
        <?php

        $a = 3;
        $b = 5;
        $c = $b;

        echo "a = " . $a . '<br/>';
        echo "b = " . $b . '<br/>';
        echo "a = " . $c . '<br/>';
        echo "b = " . $a . '<br/>';
        ?>
        </p>
                <h2>Задание 2</h2>
        <p>
        <?php

        $a = 3;
        $b = 5;

        echo "a = " . $a . '<br/>';
        echo "b = " . $b . '<br/>';
        echo "a = " . $b . '<br/>';
        echo "b = " . $a . '<br/>';
        ?>
        </p>
    </body>
</html>
ivashkevich
ivashkevich

Речь была о другом - смотрите решения выше.

Ros
Ros
/*C переменной*/
$a=3;
$b=5;
$c = $a + $b;
$a=$c-$a;
$b=$c-$b;
echo "a=$a b=$b";
/*Без переменной*/
$a=3;
$b=5;
$a=($a+$b);
$b=($a-$b);
$a=($a-$b);
echo "<br>a=$a b=$b";
ivashkevich
ivashkevich

Хорошо, но скобки - лишнее.

Apache79
Apache79
<?php

echo 'Домашнее задание.',' <br>','<br>';
echo 'С дополнительной переменной:','<br>';
$a = 3;
$b = 5;
$c = $a + $b;// c = 8
echo 'a = ', $a,'<br>';
echo 'b = ', $b,'<br>';
echo 'c = ', $c,'<br>';
$a = $c - $a; // 8-3=5 a=5
$b = $c - $b; // 8-5=3 b=3
echo 'Новые значения:','<br>';
echo 'a = ', $a,'<br>';
echo 'b = ', $b,'<br>','<br>';
echo 'Без дополнительной переменной:','<br>';
$a = 3;
$b = 5;
echo 'a = ', $a,'<br>';
echo 'b = ', $b,'<br>';
$a = $a * $b;// 3 * 5=15 a=15
$b = $a / $b;// 15/5=3 b=3
$a = $a / $b;// 15/3=5 a=5
echo 'Новые значения:','<br>';
echo 'a = ', $a,'<br>';
echo 'b = ', $b,'<br>';
ivashkevich
ivashkevich

А зачем в примере с дополнительной переменной что-то складывать и вычитать?