Этот урок набрал набрал достаточно большое количество комментариев и дальнейшее его комментирование отключено. Если вы хотели убедиться в правильности выполнения ДЗ или у вас возник вопрос по уроку, посмотрите ранее добавленные комментарии, кликнув по кнопке ниже. Скорее всего вы найдете там то, что искали. Если это не помогло - задайте вопрос в чате в телеграме - https://t.me/php_zone
omk 14.06.2017 в 12:13

Почему '05' == '5' true?
По идее оператору == не надо переводить в int, а сравнить 2 string. Но тогда строка '05' не равна строке '5'.

ivashkevich 14.06.2017 в 19:21

Правильный вопрос! Ответ имеется в официальной документации, вот тут.

omk 15.06.2017 в 08:31

Я немного не то имел ввиду, но ответ нашёл. Оказывается при сравнения типа string, стоки всегда переводятся в числа, а потом сравниваются. Тут

pixel 03.11.2020 в 20:30

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

Daniil 07.07.2017 в 10:47

У меня другое отображение:

<?php
$hello = 'Hello ';
$hello .= 'world!';
var_dump($hello);

Результат:

string(12) "Hello world!"
[email protected] 06.08.2017 в 21:21

Ты же зпросил не вывод а свойства строки. Вот он и выдал: это строка с 12 символами. Этими символами являются hello world! Чтобы запросить просто вывод пропиши echo $hello, тогда он выведет только то, что написано в строке.

Generalisimus 27.08.2017 в 22:27
<?php
$a=5;
$b=$a!=true;
$c=$a!=0;
$d=$a!=true;
$e=$a=2&&3;
$f=$a=5&&0;
$j=$a=3||0;
$h=$a=5/1;
$k=$a=1/5;
$l=$a="5 + '5string'";
$m=$a='5'==5;
$n=$a='05'==5;
$o=$a='05'=='5';
var_dump($a);
var_dump($b);
var_dump($c);
var_dump($d);
var_dump($e);
var_dump($f);
var_dump($j);
var_dump($h);
var_dump($k);
var_dump($l);
var_dump($m);
var_dump($n);
var_dump($o);

?>

//Только не пропобал поставить <br/>или \n или \r не получилось

Generalisimus 27.08.2017 в 22:30

результат

bool(true) 
bool(false)
bool(true)
bool(false)
bool(true)
bool(false)
bool(true)
int(5)
float(0.2)
string(13) "5 + '5string'" 
bool(true)
bool(true)
bool(true)
Generalisimus 27.08.2017 в 22:31

и еще сам себе рейтинг поставил -1)))жалко нельзя редактировать коммент

ivashkevich 30.08.2017 в 19:20

Спасибо за обратную связь, добавил возможность редактировать комментарии. И оформляйте код с помощью markdown-разметки.

vasyaproject 26.09.2017 в 00:04

Честно говоря, не очень понял, че надо сделать в ДЗ, хорошо бы, если ответы были бы на какой-нибудь странице, чтобы сверить. Что значит получить !1 ? Такой что ли:

$x = !1;
var_dump($x);
ответ bool(false)
ivashkevich 26.09.2017 в 04:02

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

vasyaproject 29.09.2017 в 00:10

ок, спасибо

Tays 13.10.2017 в 21:07

Здравствуйте.
5 + '5string'; - Notice: A non well formed numeric value encountered
Почему нужно обязательно брать кавычки?

ivashkevich 14.10.2017 в 05:56

Здравствуйте. Потому что это строка. А PHP Вас в свою очередь уведомил, что вы складываете строку с числом, что вообще говоря неверно.

bratko 05.03.2019 в 16:30

Так это просто мы должны были увидеть, что PHP нас уведомляет, что нельзя число складывать со строкой или нам нужно ещё что-то с этим сделать?

bratko 05.03.2019 в 16:33

Я понял, что если строка начинается с верного числового значения, будет использовано это значение - и в итоге мы получим int(10).
Но раз выдаёт уведомление "Notice: A non well formed numeric value encountered" - значит так нельзя делать?

ivashkevich 06.03.2019 в 19:26

Да. Так делать нельзя.

serb2017 08.11.2017 в 22:21

!1 is bool(false)
!0 is bool(true)
2 && 3 is bool(true)
5 && 0 is bool(false)
3 || 0 is bool(true)
5 / 1 is int(5)
1 / 5 is float(0.2)
5 + '5string' is int(10)
'5' == 5 is bool(true)
'05' == 5 is bool(true)
'05' == '5' is bool(true)

markEvillive 04.02.2018 в 00:15

Код

<?php
var_dump(!1);//Очевидно, так как 1 это true - bool(false))
echo '<br>';
var_dump(!0);//0 воспринимается как false - bool(true)
echo '<br>';
var_dump(!true);//Очевидно, обратное значение true это false - bool(false))
echo '<br>';
var_dump(2 && 3);//Оба значения не false - bool(true)
echo '<br>';
var_dump(5 && 0);//Второе значение 0 - bool(false)
echo '<br>';
var_dump(3 || 0);//Хотя бы один из операндов (3) true - bool(true)
echo '<br>';
var_dump(5 / 1);//Деление дает целое число - int(5)
echo '<br>';
var_dump(1 / 5);//Деление дает дробное число - float(0,2)
echo '<br>';
var_dump(5 + '5string');//Если строка начинается с верного числового значения, будет использовано это значение  - int(10)
echo '<br>';
var_dump('5' == 5);//Во всех трех следующих случаях работает преобразование строк в числа - bool(true)
echo '<br>';
var_dump('05' == 5);// bool(true)
echo '<br>';
var_dump('05' == '5');//bool(true)
echo '<br>';
?>

Результат

bool(false)
bool(true)
bool(false)
bool(true)
bool(false)
bool(true)
int(5)
float(0.2)
int(10)
bool(true)
bool(true)
bool(true)

P.S: Некоторые трудности возникли с пониманием того, как работает префиксный инкремент и декремент.

ivashkevich 04.02.2018 в 15:34

Трудности ещё остались?

markEvillive 05.02.2018 в 04:38

Нет, попробовал покопаться в инкрементах/декрементах самостоятельно, и понял.

ivashkevich 05.02.2018 в 19:19

Отлично!)

Koala 22.06.2018 в 11:36

Решение

    echo 'ДЗ <br>';
    var_dump(!1);
    echo '<br>';
    var_dump(!0);
    echo '<br>';
    var_dump(!true);
    echo '<br>';
    var_dump(2 && 3);
    echo '<br>';
    var_dump(5 && 0);
    echo '<br>';
    var_dump(3 || 0);
    echo '<br>';
    var_dump(5 / 1);
    echo '<br>';
    var_dump(1 / 5 );
    echo '<br>';
    var_dump(5 + '5string');
    echo '<br>';
    var_dump('5' == 5);
    echo '<br>';
    var_dump('05' == 5);
    echo '<br>';
    var_dump('05' == '5');

Результат

ДЗ 
bool(false) 
bool(true) 
bool(false) 
bool(true) 
bool(false) 
bool(true) 
int(5) 
float(0.2) 

Notice: A non well formed numeric value encountered in C:\Users\Администратор\Documents\WSK\Git\HowToMakeSites-PHP-\1st.steps\3les.php on line 52
int(10) 
bool(true) 
bool(true) 
bool(true)

P.S: Курс понравился буду проходить дальше :smile:

Koala 22.06.2018 в 11:37

Оу, не поддерживает emodji ((

ivashkevich 22.06.2018 в 17:10

Только символы, только хардкор! Удачи в прохождении :)

[email protected] 23.07.2018 в 16:10

код
echo '!1 ';
var_dump(!1);
echo '<br>';

echo '!0 ';
var_dump(!0);
echo '<br>';

echo '!true ';
var_dump(!true);
echo '<br>';

echo '2 && 3 ';
var_dump(2 && 3);
echo '<br>';

echo '5 && 0 ';
var_dump(5 && 0);
echo '<br>';

echo '3 || 0 ';
var_dump(3 || 0);
echo '<br>';

echo '5 / 1 ';
var_dump(5 / 1);
echo '<br>';

echo '1 / 5 ';
var_dump(1 / 5);
echo '<br>';

echo '5 + \'5string\' ';
var_dump(5 + '5string');
echo '<br>';

echo '\'5\' == 5 ';
var_dump('5' == 5);
echo '<br>';

echo '\'05\' == 5 ';
var_dump('05' == 5);
echo '<br>';

echo '\'05\' == \'5\' ';
var_dump('05' == '5');
echo '<br>';

то что выводится в браузере
!1 bool(false)
!0 bool(true)
!true bool(false)
2 && 3 bool(true)
5 && 0 bool(false)
3 || 0 bool(true)
5 / 1 int(5)
1 / 5 float(0.2)
5 + '5string' int(10)
'5' == 5 bool(true)
'05' == 5 bool(true)
'05' == '5' bool(true)

ivashkevich 23.07.2018 в 19:35

Отлично!

[email protected] 11.08.2018 в 15:04

Почему-то не получается открыть в браузере, в прошлом задании (делала несколько дней назад) все получалось. Теперь по адресу http://myproject.loc/index.php выдает следующее: "Не удается получить доступ к сайту
Сайт myproject.loc не позволяет установить соединение."

ivashkevich 12.08.2018 в 06:01

OpenServer не запущен =)

Dilik 17.08.2018 в 18:57

Честно говоря чего то не догнал суть домашки...
По идее просто в var_dump проставить все эти выражения?!

ivashkevich 20.08.2018 в 23:04

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

artemjeka 02.09.2018 в 14:03

Доброго времени суток! Можно узнать, что за расширение показывает разными цветами вывод var_dump(); в браузере?

ivashkevich 02.09.2018 в 14:18

Привет! XDebug. С ним вы еще столкнетесь через пару уроков.

rlean 18.09.2018 в 17:16

Здравствуйте! У меня PHPStorm при написании кода var_dump ( expression: '05' == '5' ); сам добавляет выражение expression: всегда. Избавиться от этого не получилось самостоятельно. Должно ли так быть и на что это влияет? Спасибо!

ivashkevich 22.09.2018 в 20:15

Здравствуйте, в настройках шторма можете убрать, называется "Show parameter name hints"

[email protected] 23.09.2018 в 21:14

Прошу прощения, но если честно непонятно задание.
Что нужно делать с этими значениями?
!1
!0
!true
2 && 3
5 && 0
3 || 0
5 / 1
1 / 5
5 + '5string'
'5' == 5
'05' == 5
'05' == '5'


Я ж могу из через string вывести.
Например, в описываемом уроке не нашёл аналогичные результаты примеров:
!1
!0
!true

ivashkevich 24.09.2018 в 23:03

Здравствуйте, задание просто для того, чтобы ознакомиться с тем, как работает приведение типов в PHP =)
Можно просто проверить себя - предполагаете, какой должен получиться результат и смотрите что на самом деле.

Pavel-Tonk 27.11.2018 в 23:32

В части "Логические операторы" ошибка xor – исключающее ИЛИ, вернёт true, только если один из операторов(операндов) true, а другой – false

ivashkevich 28.11.2018 в 22:43

Спасибо, исправил =)

rewsteer 19.01.2019 в 19:07
<?php

$x = 2;
$y = '2';

var_dump($x == $y); //проверка на равенство
var_dump($x === $y); //проверка на тождественное равенство
var_dump($x != $y); //проверка на неравенство
var_dump($x !== $y); //проверка на тождественное неравенство
Результат:

boolean true
boolean false
boolean false
boolean true

Разве во 2 примере не должен быть true, а в 4 - false????

ivashkevich 20.01.2019 в 13:13

Число 2 не является тождественно равным строке '2'. У них разные типы: число и строка.

[email protected] 12.02.2019 в 16:57

У меня вопрос по этой ситуации:
Почему 2 && 3 выводит true?
Вот ситуацию (5 && 0) я понял так, так как "0" это по умолчанию false, то оператор && выводит false потому что, одно из значений false.

По поводу ситуации (2 && 3), я предполагаю, что все числа, кроме "0" это true, так?

ivashkevich 12.02.2019 в 17:05

Да, при приведении к bool ненулевые числа будут преобразованы к true.

Nick 04.03.2019 в 03:53

Вкратце, при логических операциях, int и string приводятся к boolean, где 0 и "" (пустая строка) = false, все другие значения = true.

При математических операциях, всегда приводит к int только string, при условии что туда записано число, или строка начинается с числа (все что после числа игнорируется, кстати дробное число тоже нормально "обрезается" из строки), в иных случаях, при попытке привести к int string, php будет ругаться.

При соединении строк int, и boolean (преобразуется в int) переводятся в string. (10->"10", false->"0")

При не строгом сравнении (==, !=), данные приводятся к одному типу, и сравниваются, при строгом (===, !===), сравнивание проходит без приведения типов, сравнение разных типов в этом случае вернет false.

При сравнениях типа <, >, <=, >=, также происходит приведение типов. Также при сравнениях, false = 0, true = 1.

Ну вот как то так. Я ничего не упустил?

ivashkevich 09.04.2019 в 20:59

Верно

[email protected] 09.04.2019 в 16:57

Ура! Есть понимание что, откуда и почему!
bool(false) bool(true) bool(false) bool(true) bool(false) bool(true) int(5) float(0.2) int(10) bool(true) bool(true) bool(true)

ivashkevich 09.04.2019 в 20:58

Отлично! =)

Dram 15.04.2019 в 16:23

Добрый день, мне не понятно почему тут результат
var_dump(!1) = bool(false)
var_dump(!0) = bool(true)

То что ! ОТРИЦАНИЕ, возвращает true, если операнд – false, и наоборот,я понял.
Но почему 0 и 1 выдают разный результат, ведь это оба простые числа, тип INT.
Когда мы поставили ! мы изменили тип INT на bool, это я понял. Но с чем сравнение идет? Почему разные результаты - не понял, прошу помочь понять.

Или 0 в пхп по сути синоним false ?

ivashkevich 15.04.2019 в 16:50

0 при преобразовании к boolean приводится к false.

[email protected] 21.05.2019 в 22:15
$var = [!1, !0, !true, 2 && 3, 5 && 0, 3 || 0, 5 / 1, 1 / 5, 5 + '5string', '5' == 5, '05' == 5, '05' == '5'];
for ($v = 0; $v < count($var); $v++)
{
    echo '<br>';
    var_dump($var[$v]);
}

Ответы
bool(false)
bool(true)
bool(false)
bool(true)
bool(false)
bool(true)
int(5)
float(0.2)
int(10)
bool(true)
bool(true)
bool(true)

ivashkevich 21.05.2019 в 22:26

Отлично. А можно было и без цикла вывести всё разом через var_dump. Но это очень хорошо, что вы этими знаниями уже обладаете.

[email protected] 21.05.2019 в 22:42

Хорошие уроки очень.
Через var_dump() вы наверное это имели в виду?

$var = [!1, !0, !true, 2 && 3, 5 && 0, 3 || 0, 5 / 1, 1 / 5, 5 + '5string', '5' == 5, '05' == 5, '05' == '5'];
echo '<pre>';
var_dump($var);
echo '</pre>';
ivashkevich 22.05.2019 в 00:54

Именно так!

NrG 11.10.2019 в 01:12

Артем, а логический оператор xor в своей работе используешь?

ivashkevich 11.10.2019 в 05:56

Крайне редко. 1 или 2 раза приходилось за всё время работы применить.

sar16520 15.10.2019 в 10:59
var_dump(!1);
var_dump(!0);
var_dump(!true);
var_dump(2 && 3);
var_dump(5 && 0);
var_dump(3 || 0);
var_dump(5 / 1);
var_dump(1 / 5);
var_dump(5 + '5string');
var_dump('5' == 5);
var_dump('05' == 5);
var_dump('05' == '5');
  1. false
  2. true
  3. false
  4. true
  5. false
  6. true
  7. 5
  8. 0.2
  9. 10
  10. true
  11. true
  12. true
ivashkevich 15.10.2019 в 11:03

Отлично

[email protected] 31.10.2019 в 16:16
<?php

$x = !1;
$q = !0;
$w = !true;
$e = 2 && 3;
$r = 5 && 0;
$t= 3 || 0;
$y= 5 / 1;
$u = 1 / 5;
$a1 = 5 + '5string';
$b = '5' == 5;
$c = '05' == 5;
$z = '05' == '5';

var_dump($x);
var_dump($q);
var_dump($w);
var_dump($e);
var_dump($r);
var_dump($t);
var_dump($y);
var_dump($u);
var_dump($a1);
var_dump($b);
var_dump($c);
var_dump($z);
ivashkevich 31.10.2019 в 19:20

Отлично

YuraG 03.11.2019 в 22:16

!1 -> false
!0 -> true
!true -> false
2 && 3 -> true
5 && 0 -> false
3 || 0 -> true
5 / 1 -> 5
1 / 5 -> 0.2
5 + '5string' -> 10
'5' == 5 -> true
'05' == 5 -> true
'05' == '5' -> true

ivashkevich 04.11.2019 в 04:08

Отлично

[email protected] 12.11.2019 в 05:59

bool(false)
bool(true)
bool(false)
bool(true)
bool(false)
bool(true)
int(5)
float(0.2)
int(10)
bool(true)
bool(true)
bool(true)

ivashkevich 12.11.2019 в 19:41

Отлично

[email protected] 14.11.2019 в 20:47

Добрый день, это правильно:
var_dump(!1);
var_dump(!0);
var_dump(!true);
var_dump(2 && 3);
var_dump(5 && 0);
var_dump(3 || 0);
var_dump(5/1);
var_dump(1/5);
var_dump(5 + "5 string");
var_dump("5"==5);
var_dump("05"==5);
var_dump("05"=="5");

ivashkevich 14.11.2019 в 21:05

Отлично

serjioG 04.12.2019 в 21:04

bool(false) bool(true) bool(false) bool(true) bool(false) bool(true) int(5) float(0.2) int(10) bool(true) bool(true) bool(true)

Всё понятно как работает!)

ivashkevich 05.12.2019 в 14:50

Супер!)

[email protected] 09.12.2019 в 17:36

var_dump(!1); //bool(false)
var_dump(!0); //bool(true)
var_dump(!true); //bool(false)
var_dump(2 && 3); //bool(true)
var_dump(5 && 0); //bool(false)
var_dump(3 || 0); //bool(true)
var_dump(5 / 1); //int(5)
var_dump(1 / 5); //float(0.2)
var_dump(5 + '5string'); //int(10)
var_dump('5' == 5); //bool(true)
var_dump('05' == 5); //bool(true)
var_dump('05' == 5); //bool(true)

ivashkevich 11.12.2019 в 18:01

Отлично

[email protected] 20.12.2019 в 13:31
<?php
require "head.html";
require "footer.html";

$a = 1;
$b = 0;
$d = $a != $b;

var_dump($d);

$x = $y = 2 && $z = 3;

var_dump($x);

$w = 5;
$r = 0;
$t = $w && $r;
var_dump($t);

$q = 3;
$u = 0;
$i = $q || $u;
var_dump($i);

$o = 5;
$p = 1;
$o /= $p;
$p /= $o;
var_dump($o);
var_dump($p);

$d = 5;
$f = $d += $g = '5string';
var_dump($f);

$h = '5';
$j = $h == $k = 5;
var_dump($j);

$l = '05';
$c = $l == $v = 5;
var_dump($c);

$n = '05';
$m = $n == $M = '5';
var_dump($m);
?>

Результат.

Взгляните пожалуйста, что нибудь получилось?

ivashkevich 21.12.2019 в 20:14

Отлично. Только принято шапку именовать header а не head.

[email protected] 05.01.2020 в 20:19
<?php
var_dump(!1); echo '<br>';
var_dump(!0); echo '<br>';
var_dump(!true); echo '<br>';
var_dump(2 && 3); echo '<br>';
var_dump(5 && 0); echo '<br>';
var_dump(3 || 0); echo '<br>';
var_dump(5 / 1); echo '<br>';
var_dump(1 / 5); echo '<br>';
var_dump(5 + '5string'); echo '<br>';
var_dump('5' == 5); echo '<br>';
var_dump('05' == 5); echo '<br>';
var_dump('05' == '5'); echo '<br>';

Скрин результата https://prnt.sc/qjoht4

ivashkevich 06.01.2020 в 16:37

Отлично

mrttel 15.01.2020 в 16:40
<?php
$x = !1;
var_dump($x);
$x = !0;
var_dump($x);
$x = !true;
var_dump($x);
$x = 2 && 3;
var_dump($x);
$x = 5 && 0;
var_dump($x);
$x = 3 || 0;
var_dump($x);
$x = 5 / 1;
var_dump($x);
$x = 1 / 5;
var_dump($x);
$x = 5 + '5string';
var_dump($x);
$x = '5' == 5;
var_dump($x);
$x = '05' == 5;
var_dump($x);
$x = '05' == '5';
var_dump($x);

Результат:


bool(false)
bool(true)
bool(false)
bool(true)
bool(false)
bool(true)
int(5)
float(0.2)
Notice:  A non well formed numeric value encountered in C:\OpenServer\domains\myproject.loc\index.php on line 18
int(10)
bool(true)
bool(true)
bool(true)

Notice: A non well formed numeric value encountered - нововведение PHP 7.1.x, выдается, когда строка начинается с цифр, но далее содержит не цифровые символы. Подробнее

ivashkevich 18.01.2020 в 06:10

Отлично

imitator 23.01.2020 в 07:22
<?php

var_dump(!1);
echo '<br>';
var_dump(!0);
echo '<br>';
var_dump(!true);
echo '<br>';
var_dump(2 && 3);
echo '<br>';
var_dump(5 && 0);
echo '<br>';
var_dump(3 || 0);
echo '<br>';
var_dump(5 / 1);
echo '<br>';
var_dump(1 / 5);
echo '<br>';
var_dump(5 + '5string');
echo '<br>';
var_dump('5' == 5);
echo '<br>';
var_dump('05' == 5);
echo '<br>';
var_dump('05' == '5');
echo '<br>';
ivashkevich 24.01.2020 в 08:26

Отлично

qroff 29.01.2020 в 00:42

== проверяет содержимое, а === проверяет тип?

ivashkevich 29.01.2020 в 06:28

=== И тип, и затем значение (если типы совпали).
== Пытается привести к одному типу и затем сравнить значения.

qroff 29.01.2020 в 22:45

понял, спасибо

krauferrino 14.03.2020 в 20:29

!1 = bool(false)
!0 = bool(true)
!true = bool(false)
2 && 3 = bool(true)
5 && 0 = bool(false)
3 || 0 = bool(true)
5 / 1 = int(1)
1 / 5 = float(0.2)
5 + '5string' = int(10)
'5' == 5 = bool(true)
'05' == 5 = bool(true)
'05' == '5' = bool(true)

Developer 04.04.2020 в 12:23
<?php
var_dump(!1);
var_dump(!0);
var_dump(!true);
var_dump(2 && 3);
var_dump(5 && 0);
var_dump(3 || 0);
var_dump(5 / 1);
var_dump(1 / 5);
var_dump(5 + '5string');
var_dump('5' == 5);
var_dump('05' == 5);
var_dump('05' == '5');
?>

Решение:
bool(false)
bool(true)
bool(false)
bool(true)
bool(false)
bool(true)
int(5)
float(0.2)
int(10)
bool(true)
bool(true)
bool(true)

p.s. Всё равно до конца не понял приоритеты операторов если их несколько в выражении, хотя материал прочитал.

ivashkevich 04.04.2020 в 12:38

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

Developer 04.04.2020 в 15:31

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

ivashkevich 04.04.2020 в 19:11

В таких случаях используют скобки, прямо как в математике. Много операторов без скобок лучше не допускать, в них любой запутается =)

Developer 05.04.2020 в 11:53

Согласен!

n.yurasheva 08.04.2020 в 20:46

2 раза прикрепила ДЗ, а оно пропадает, почему так?

ivashkevich 08.04.2020 в 20:55

Не знаю, попробуйте ещё раз

n.yurasheva 08.04.2020 в 21:04
<?php
echo 'С помощью функции var_dump() получите результаты следующих выражений.<br>';
echo 'var_dump(!1) = ';
var_dump(!1);
echo '<br>var_dump(!0) = ';
var_dump(!0);
echo '<br>var_dump(!true) = ';
var_dump(!true);
echo '<br>var_dump(2 && 3) = ';
var_dump(2 && 3);
echo '<br>var_dump(5 && 0) = ';
var_dump(5 && 0);
echo '<br>var_dump(3 || 0) = ';
var_dump(3 || 0);
echo '<br>var_dump(5 / 1) = ';
var_dump(5 / 1);
echo '<br>var_dump(1 / 5) = ';
var_dump(1 / 5);
echo '<br>var_dump(5 + \'5string\') = ';
var_dump(5 + '5string');
echo '<br>var_dump(\'5\' == 5) = ';
var_dump('5' == 5);
echo '<br>var_dump(\'05\' == 5) = ';
var_dump('05' == 5);
echo '<br>var_dump(\'05\' == \'5\') = ';
var_dump('05' == 5);

Результат:
С помощью функции var_dump() получите результаты следующих выражений.
var_dump(!1) = bool(false)
var_dump(!0) = bool(true)
var_dump(!true) = bool(false)
var_dump(2 && 3) = bool(true)
var_dump(5 && 0) = bool(false)
var_dump(3 || 0) = bool(true)
var_dump(5 / 1) = int(5)
var_dump(1 / 5) = float(0.2)
var_dump(5 + '5string') =
Notice: A non well formed numeric value encountered in D:\xampp\htdocs\phpzone\index8.php on line 28
int(10)
var_dump('5' == 5) = bool(true)
var_dump('05' == 5) = bool(true)
var_dump('05' == '5') = bool(true)

ivashkevich 09.04.2020 в 10:40

Ок

[email protected] 09.04.2020 в 10:32

Извините, но мне было влом прописывать каждое значение вручную X-D

$arr = [!1, !0, !true, 2 && 3, 5 && 0, 3 || 0, 5 / 1, 1 / 5, 5 + '5string', '5' == 5, '05' == 5, '05' == '5'];
foreach ($arr as $item) {
    var_dump($item) . '<br>';
}
ivashkevich 09.04.2020 в 10:50

Норм!

[email protected] 10.04.2020 в 11:44
<?php

$arrayVarName = ['!1', '!0', '!true', '2 && 3', '5 && 0', '3 || 0', '5 / 1', '1 / 5',
    "5  + '5string'", "'5' == 5", "'05' == 5", "'05' == '5'"];
$arrayVar = [!1, !0, !true, 2 && 3, 5 && 0, 3 || 0, 5 / 1, 1 / 5,
    5 + '5string', '5' == 5, '05' == 5, '05' == '5'];
$arrayForScreen = array($arrayVarName, $arrayVar);
$i = 0;
echo "Возвращаем тип выражения</br>";

while ($i <= (count($arrayVar) - 1)) {
    echo "Выражение-<b>" . $arrayForScreen[0][$i] . " </b>-результат var_dump():    ";
    echo var_dump($arrayForScreen[1][$i]) . "</br>";
    $i++;
}

?>
Ну как то так. Не получилось присвоить всем элементам массива тип string.
ivashkevich 10.04.2020 в 13:17

?> - в конце файла не ставится

[email protected] 10.04.2020 в 13:36

На сколько я понял , связка <?php тело программы ?> работает так . Но и без ?> так же работает .Спасибо!

[email protected] 10.04.2020 в 13:14
<?php
echo "<pre>";
var_dump(!1);                       //!true = false
var_dump(!0);                       //!false = true
var_dump(!true);                    //!true = false
var_dump(2 && 3);          //true && true = true
var_dump(5 && 0);          //true && false = false
var_dump(3 || 0);          //true || false = true
var_dump(5 / 1);           //5 / 1 = 5 (int)
var_dump(1 / 5);           // float(0.2)
var_dump(5 + '5string');   //5 + 5 =10
var_dump('5' == 5);        //true, т.к. сравнение не строгое
var_dump('05' == 5);       //true, т.к. сравнение не строгое
var_dump('05' == '5');     //приведение типов: '0.5' -> 5, '5' -> 5, 5 == 5, опять же сравнение не строгое
echo "</pre>";
ivashkevich 10.04.2020 в 13:21

ОК

yulya-Yulya 14.04.2020 в 22:30
var_dump(!1);
echo '<br>';
var_dump(!0);
echo '<br>';
var_dump(!true);
echo '<br>';
var_dump(2 && 3);
echo '<br>';
var_dump(5 && 0);
echo '<br>';
var_dump(3 || 0);
echo '<br>';
var_dump(5 / 1);
echo '<br>';
var_dump(1 / 5);
echo '<br>';
var_dump(5 + '5string');
echo '<br>';
var_dump('5' == 5);
echo '<br>';
var_dump('05' == 5);
echo '<br>';
var_dump('05' == '5');

результат:
bool(false)
bool(true)
bool(false)
bool(true)
bool(false)
bool(true)
int(5)
float(0.2)
int(10)
bool(true)
bool(true)
bool(true)

Вопрос: при использовании логических операторов "0" - это "faulse", любое число - это "true"?

ivashkevich 15.04.2020 в 11:11

Только не faulse а false

[email protected] 15.04.2020 в 10:15

Решение:

<?php
var_dump (!1);
echo '<br>';
var_dump (!0);
echo "<br>";
var_dump(!true);
echo "<br>";
var_dump(2&&3);
echo "<br>";
var_dump(5&&0);
echo "<br>";
var_dump(3||0);
echo "<br>";
var_dump(5/1);
echo "<br>";
var_dump(1/5);
echo "<br>";
var_dump(5 + '5');
echo "<br>";
var_dump('5'==5);
echo "<br>";
var_dump('05'==5);
echo "<br>";
var_dump('05'=='5');
echo "<br>";

Результат:
bool(false)
bool(true)
bool(false)
bool(true)
bool(false)
bool(true)
int(5)
float(0.2)
int(10)
bool(true)
bool(true)
bool(true)

ivashkevich 15.04.2020 в 11:42

Ок

[email protected] 15.04.2020 в 18:28

Корректно ли получать результаты, записав все выражения в массив? Мне показалось, что так проще, потому что не нужно после каждого выражения писать var_dump.

<?php
$arr = [
    '!1' => !1,
    '!0' => !0,
    '!true' => !true,
    '2 && 3' => 2 && 3,
    '5 && 0' => 5 && 0,
    '3 || 0' => 3 || 0,
    '5 / 1' => 5 / 1,
    '1 / 5' => 1 / 5,
    "5 + '5string'" => 5 + '5string',
    "'5' == 5" => '5' == 5,
    "'05' == 5" => '05' == 5,
    "'05' == '5'" => '05' == '5'
];
echo '<pre>';
var_dump($arr);
echo '</pre>';
?>
ivashkevich 16.04.2020 в 06:07

Вполне корректно, если вы уже знаете про массивы :)

?>

в конце файла не ставится.

[email protected] 15.04.2020 в 22:34

!1 = bool(false)
!0 = bool(true)
!true = bool(false)
2 && 3 = bool(true)
5 && 0 = bool(false)
3 || 0 = bool(true)
5 / 1 = int(5)
1 / 5 = float(0.2)
5 + '5string' = int(10)
'5' == 5 = bool(true)
'05' == 5 = bool(true)
'05' == '5' = bool(true)
Верно?

ivashkevich 16.04.2020 в 07:02

Ага

Artt 18.04.2020 в 23:23
<?php

$a = !1;
$b = !0;
$c = !true;
$d = 2 && 3;
$e = 5 && 0;
$f = 3 || 0;
$g = 5 / 1;
$h = 1 / 5;
$i = 5 + '5string';
$j = '5' == 5;
$k = '05' == 5;
$l = '05' == '5';
var_dump($a,$b,$c,$d,$e,$f,$g,$h,$i,$j,$k,$l);

Ответы:
bool(false), bool(true), bool(false), bool(true), bool(false), bool(false),bool(true), bool(false), bool(true), bool(false), bool(true), int(5), float(0.2), int(10), bool(true), bool(true), bool(true)

ivashkevich 19.04.2020 в 15:35

Отлично

NickHazard 20.04.2020 в 00:06

var_dump(!1) - результат bool(false)
var_dump(!0) - результат bool(true)
var_dump(!true) - результат bool(false)
var_dump(2 && 3) - результат bool(true)
var_dump(5 && 0) - результат bool(false)
var_dump(3 || 0) - результат bool(true)
var_dump(5 / 1) - результат int(5)
var_dump(1 / 5) - результат float(0.2)
var_dump(5 + '5string') - результат int(10)
var_dump('5' == 5) - результат bool(true)
var_dump('05' == 5) - результат bool(true)
var_dump('05' == '5') - результат bool(true)

ivashkevich 20.04.2020 в 04:47

Отлично

Stimi 22.04.2020 в 00:03
<?php
var_dump(!1); //f
echo '<br>';
var_dump(!0); //t
echo '<br>';
var_dump(!true);//f
echo '<br>';
var_dump(2 && 3); //t
echo '<br>';
var_dump(5 && 0); //f
echo '<br>';
var_dump(3 || 0); //t
echo '<br>';
var_dump(5 / 1); // int(9)
echo '<br>';
var_dump(1 / 5); // float 0.2
echo '<br>';
var_dump(5 + '5string'); //int(10)
echo '<br>';
var_dump('5' == 5); //t
echo '<br>';
var_dump('05' == 5); //f
echo '<br>';
var_dump('05' == '5'); //f
ivashkevich 22.04.2020 в 06:02

Ок

annferny 24.04.2020 в 15:18
 <?php
 var_dump(!1); //false
 var_dump(!0); //true
 var_dump(!true); //false
 var_dump(2 && 3); //true
 var_dump(5 && 0); //false
 var_dump(3 || 0); //true
 var_dump(5 / 1); //int(5)
 var_dump(1 / 5); //float(0.2)
 var_dump(5 + '5string'); //int(10)
 var_dump('5' == 5); //true
 var_dump('05' == 5); //true
 var_dump('05' == '5'); //true
ivashkevich 24.04.2020 в 20:20

Ок

[email protected] 01.05.2020 в 20:16

!1
!0
!true
2 && 3
5 && 0
3 || 0
5 / 1
1 / 5
5 + '5string'
'5' == 5
'05' == 5
'05' == '5'

!1 -> false
!0 -> true
!true -> false
2 && 3 -> true
5 && 0 -> false
3 || 0 -> true
5 / 1 -> 5
1 / 5 -> 0.2
5 + '5string' -> 10
'5' == 5 -> true
'05' == 5 -> true
'05' == '5' -> true

ivashkevich 02.05.2020 в 16:03

Оформляйте код (в редакторе комментариев самая первая кнопка).

[email protected] 03.05.2020 в 10:39
<?php
 var_dump(!1); //false
 var_dump(!0); //true
 var_dump(!true); //false
 var_dump(2 && 3); //true
 var_dump(5 && 0); //false echo '<br>';
 var_dump(3 || 0); //true echo '<br>';
 var_dump(5 / 1); //int(5) echo '<br>';
 var_dump(1 / 5); //float(0.2) echo '<br>';
 var_dump(5 + '5string'); //int(10) echo '<br>';
 var_dump('5' == 5); //true echo '<br>';
 var_dump('05' == 5); //true echo '<br>';
 var_dump('05' == '5'); //true echo '<br>';
ivashkevich 03.05.2020 в 20:58

Ок

[email protected] 01.05.2020 в 20:53
<?php
var_dump(!1);echo '<br>';
var_dump(!0);echo '<br>';
var_dump(!true);echo '<br>';
var_dump(2&&3);echo '<br>';
var_dump(5&&0);echo '<br>';
var_dump(3||0);echo '<br>';
var_dump(5/1);echo '<br>';
var_dump(1/5);echo '<br>';
var_dump(5+'5string');echo '<br>';
var_dump('5'==5);echo '<br>';
var_dump('05'==5);echo '<br>';
var_dump('05'=='5');
?>
результат
bool(false)
bool(true)
bool(false)
bool(true)
bool(false)
bool(true)
int(5)
float(0.2)
int(10)
bool(true)
bool(true)
bool(true)
ivashkevich 02.05.2020 в 16:12

Ок

IePyton 03.05.2020 в 17:53
<?php
var_dump(!1);
echo '<br >';
var_dump(!0);
echo '<br >';
var_dump(!true);
echo '<br >';
var_dump(2 && 3);
echo '<br >';
var_dump(5 && 0);
echo '<br >';
var_dump(3 || 0);
echo '<br >';
var_dump(5 / 1);
echo '<br >';
var_dump(1 / 5);
echo '<br >';
var_dump(5 + '5string');
echo '<br >';
var_dump('5' == 5);
echo '<br >';
var_dump('05' == 5);
echo '<br >';
var_dump('05' == '5');
echo '<br >';

Получил :
bool(false)
bool(true)
bool(false)
bool(true)
bool(false)
bool(true)
int(5)
float(0.2)
int(10)
bool(true)
bool(true)
bool(true)
ivashkevich 03.05.2020 в 21:02

Ок

nersesyan.sargis 09.05.2020 в 16:23
<?php
var_dump(!1);
echo '<br>';
var_dump(!0);
echo '<br>';
var_dump (!true);
echo '<br>';
var_dump (2&&3);
echo '<br>';
var_dump(5&&0);
echo '<br>';
var_dump (3||0);
echo '<br>';
var_dump(5/1);
echo '<br>';
var_dump(1/5);
echo '<br>';
var_dump(5+'5string');
echo '<br>';
var_dump('5'==5);
echo '<br>';
var_dump('0.5'==5);
echo '<br>';
var_dump('0.5'=='5');
echo '<br>';
nersesyan.sargis 09.05.2020 в 16:24
bool(false)
bool(true)
bool(false)
bool(true)
bool(false)
bool(true)
int(5)
float(0.2)
int(10)
bool(true)
bool(false)
bool(false)
ivashkevich 10.05.2020 в 09:04

Отлично

Alex-neo 13.05.2020 в 01:11
<?php
var_dump(!1);//bool(false)
echo '<br>';
var_dump(!0);//bool(true)
echo '<br>';
var_dump(!true);//bool(false)
echo '<br>';
var_dump(5 && 3);//bool(true)
echo '<br>';
var_dump(5 && 0);//bool(false)
echo '<br>';
var_dump(3 || 0);//bool(true)
echo '<br>';
var_dump(5 / 1);//int(5)
echo '<br>';
var_dump(1 / 5);//float(0.2)
echo '<br>';
var_dump(5 + '5string');//Notice: A non well formed numeric value encountered in W:\domains\myproject.loc\www\index10.php on line 18
echo '<br>'; //int(10)
var_dump('5' == 5);//bool(true)
echo '<br>';
var_dump('05' == 5);//bool(true)
echo '<br>';
var_dump('05' == '5');//bool(true)
ivashkevich 13.05.2020 в 07:25

Ок

[email protected] 14.05.2020 в 12:53
<?php 
    $a = 10;
    $b = $a != 1;
    $c = $a != 0;
    $d = $a != true;
    $e = $a = 2 && 3;
    $f = $a = 5 && 0;
    $j = $a = 3 || 0;
    $h = $a = 5 / 1;
    $k = $a = 1 / 5;
    $l = $a = "5 + '5string'";
    $m = $a = '5' == 5;
    $n = $a = '05' == 5;
    $o = $a = '05' == '5';
    var_dump($a);
    echo '<br>';
    var_dump($b);
    echo '<br>';
    var_dump($c);
    echo '<br>';
    var_dump($d);
    echo '<br>';
    var_dump($e);
    echo '<br>';
    var_dump($f);
    echo '<br>';
    var_dump($j);
    echo '<br>';
    var_dump($h);
    echo '<br>';
    var_dump($k);
    echo '<br>';
    var_dump($l);
    echo '<br>';
    var_dump($m);
    echo '<br>';
    var_dump($n);
    echo '<br>';
    var_dump($o);
    echo '<br>';
?>

Результат:
bool(true)
bool(true)
bool(true)
bool(false)
bool(true)
bool(false)
bool(true)
int(5)
float(0.2)
string(13) "5 + '5string'"
bool(true)
bool(true)
bool(true)

ivashkevich 14.05.2020 в 15:10

Отлично, только закрывающий тег ?> в конце файла не нужен.

[email protected] 14.05.2020 в 15:24

Спасибо_) Сейчас в документации нашел, почему он не нужен)

superbobr 16.05.2020 в 14:40
var_dump(!1);//false
var_dump(!0);//true
var_dump(!true);//false
var_dump(2 && 3);//true
var_dump(5 && 0);//false
var_dump(3 || 0);//true
var_dump(5 / 1);//5
var_dump(1 / 5);//0.2
var_dump(5 + '5string');//10
var_dump('5' == 5);//true
var_dump('05' == 5);//true
var_dump('05' == '5');//true
ivashkevich 17.05.2020 в 13:40

ОК. Только оформляйте код (в редакторе комментариев самая первая кнопка).
Нажмите на карандашик и поправьте, пожалуйста.

superbobr 18.05.2020 в 09:54

Спасибо, поправил.

ivashkevich 18.05.2020 в 20:18

Хорошо. В следующий раз отвечайте на комментарий, а не создавайте новую ветку.

[email protected] 22.05.2020 в 19:44
      Доброго времени суток! С помощью функции var_dump получил выражения.
Единственное что не совсем получилось, так это выражение 5 + '5string'. Выдает ошибку что неправильно сформированное числовое значение. В остальном вроде всё good)
Самая объёмная пока что тема в разделе про Операторов, очень много info, но мне понравилось:)
Вот моё домашнее задание.

<?php

    //домашнее задание
echo '<br>' .'➤ ';
var_dump(!1);
echo '<br>' .'➤ ';
var_dump(!0);
echo '<br>' .'➤ ';
var_dump(!true);
echo '<br>' .'➤ ';
var_dump(2 && 3);
echo '<br>' .'➤ ';
var_dump(5 && 0);
echo '<br>' .'➤ ';
var_dump(3 || 0);
echo '<br>' .'➤ ';
var_dump(5/1);
echo '<br>' .'➤ ';
var_dump(1/5);
echo '<br>' .'➤ ';
var_dump(5 + '5string');
echo '<br>' .'➤ ';
var_dump('5' == 5);
echo '<br>' .'➤ ';
var_dump('05' == 5);
echo '<br>' .'➤ ';
var_dump('05' == '5');

А вот что отобразил мой браузер)

➤ bool(false)
➤ bool(true)
➤ bool(false)
➤ bool(true)
➤ bool(false)
➤ bool(true)
➤ int(5)
➤ float(0.2)
➤
Notice: A non well formed numeric value encountered in C:\Users\vqp99\Documents\domains\test\index.php on line 21
int(10)
➤ bool(true)
➤ bool(true)
➤ bool(true)

P. S. Если что простите что вставил текстовые значки, но это моя слабость)
ivashkevich 23.05.2020 в 19:34

Прощаю)

[email protected] 02.06.2020 в 17:49

Задание выполнила, интересно! Возникли небольшие трудности в последних пунктах, но поняла, что используется преобразование строки в числовой тип.

<?php
    var_dump(!1); //bool(false)
    var_dump(!0); //bool(true)
    var_dump(!true); //bool(false)

    var_dump(2 && 3); //bool(true) 
    var_dump(5 && 0); //bool(false) 
    var_dump(3 || 0); //bool(true)

    var_dump(5 / 1); //int (5)
    var_dump(1 / 5); //float(0.2)

    var_dump (5 + '5sttring'); //int(10)
    var_dump ('5' == 5); //bool (true)
    var_dump('05' == 5); //bool (true)
    var_dump ('05' == '5')//bool(true)
ivashkevich 03.06.2020 в 08:56

Верно

[email protected] 04.06.2020 в 07:20

<?php
var_dump (!1); //значение true, но т.к. отрицание, то false 
var_dump (!0); //все наоборот = true
var_dump (!true); //отрицание true = false
var_dump (2 && 3); //оба оператора true, поэтому true 
var_dump (5 && 0); //один из операторов false, поэтому false
var_dump (3 || 0); //хотя бы один из операторов true - условие выполняется, поэтому true
var_dump (5 / 1); //арифметический оператор, при вычислении получается целое число int 5
var_dump (1 / 5); //арифметический оператор, при вычислении получается дробное число float 0.2
var_dump (5 + '5string'); //арифметика срабатывает, т.к. строка '5string' начинается с цифры, результат int 10
var_dump ('5' == 5);//равенство выполняется, true 
var_dump ('05' == 5);//равенство выполняется, true 
var_dump ('05' == '5');//равенство выполняется, true

Результат:
bool(false)                                                                                                                            
bool(true)                                                                                                                             
bool(false)                                                                                                                            
bool(true)                                                                                                                             
bool(false)                                                                                                                            
bool(true)                                                                                                                             
int(5)                                                                                                                                 
float(0.2)                                                                                                                             
PHP Notice:  A non well formed numeric value encountered in /home/main.php on line 10                                                  
int(10)                                                                                                                                
bool(true)                                                                                                                             
bool(true)                                                                                                                             
bool(true)

Разобрался, спасибо!
ivashkevich 04.06.2020 в 11:05

Супер)

UtillitE 21.06.2020 в 23:15

Привет!
Ответы на дз
bool(false)
bool(true)
bool(false)
bool(true)
bool(false)
bool(true)
int(5)
float(0.2)
int(10)
bool(true)
bool(true)
bool(true)

ivashkevich 22.06.2020 в 07:13

Отлично)

rumsonius 25.06.2020 в 20:37

Приветствую, дз

<?php
$a=!1;
$b=!0;
$c=!true;
$d=2 && 3;
$e=5 && 0;
$f=3 || 0;
$g=5 / 1;
$k=1 / 5;
$l="5 + '5string' ";
$m='5' == 5;
$n='05' == 5;
$o='05' == '5';
var_dump($a);
var_dump($b);
var_dump($c);
var_dump($d);
var_dump($e);
var_dump($f);
var_dump($g);
var_dump($k);
var_dump($l);
var_dump($m);
var_dump($n);
var_dump($o);
 ?>

bool(false)
bool(true) 
bool(false) 
bool(true) 
bool(false) 
bool(true) 
int(5) 
float(0.2) 
string(14) "5 + '5string' " 
bool(true) 
bool(true) 
bool(true)

И еще закрыл тег и PHPstorm выдает "Redundant closing tag :26" я что то не так сделал?

ivashkevich 26.06.2020 в 09:25

Закрывающий тег ?> в конце файла не нужен.

[email protected] 30.06.2020 в 21:31

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

Благодарю за урок!

ivashkevich 01.07.2020 в 18:22

Пожалуйста)

[email protected] 22.07.2020 в 14:29

Кажется что я не понял задания, но если все правильно понял, то получилось так:

<?php

// не ассоциативен c высоким приоритетом
var_dump(!1); //bool (false)
var_dump(!0); //bool (true)
var_dump(!true); // bool (false)

// левоассоциативный 
var_dump(2 && 3); // bool (true)
var_dump(5 && 0); // bool (false)

// левоассоциативный 
var_dump(3 || 0); // bool (true)

// правоассоциативный
var_dump(5 / 1); // int (5)
var_dump(1 / 5); // float (0.2)
var_dump(5 + '5string'); // Неправильно сформированное числовое значение на этой строке

// не ассоциативен с приоритетом больше чем у операторов "/" "||" "&&" но меньше чем у "!"
var_dump('5' == 5); // bool (true)
var_dump('05' == 5); // bool (true)
var_dump('05' == '5'); // bool (true)
ivashkevich 22.07.2020 в 14:39

Всё именно так, как и требовалось. Отлично! =)

Nobody 29.07.2020 в 20:00
    var_dump(!1);            // bool(false)
    var_dump(!0);            // bool(true)
    var_dump(!true);         // bool(false)
    var_dump(2 && 3);        // bool(true)
    var_dump(5 && 0);        // bool(false)
    var_dump(3 || 0);        // bool(true)
    var_dump(5 / 1);         // int(5)
    var_dump(1 / 5);         // float(0.2)
    var_dump(5 + '5string'); // int(10)
    var_dump('5' == 5);      // bool(true)
    var_dump('05' == 5);     // bool(true)
    var_dump('05' == '5');   // bool(true) 
ivashkevich 02.08.2020 в 17:16

Ок

[email protected] 31.07.2020 в 10:45

!1 bool(false)
!0 bool(true)
!true bool(false)
2 && 3 bool(true)
5 && 0 bool(false)
3 || 0 bool(true)
5 / 1 int(5)
1 / 5 float(0.2)
5 + '5string' int(10)
'5' == 5 bool(true)
'05' == 5 bool(true)
'05' == '5' bool(true)

ivashkevich 02.08.2020 в 17:27

Ок

[email protected] 01.08.2020 в 09:25

var_dump(!1);
var_dump(!0);
var_dump(!true);
var_dump( 2 && 3);
var_dump( 5 && 0);
var_dump( 3 || 0);
var_dump( 5 / 1);
var_dump( 1 / 5);
var_dump( 5 + '5string');
var_dump( '5' == 5);
var_dump( '05' == 5);
var_dump( '05' == '5');

ivashkevich 02.08.2020 в 17:33

Ок

Perlll 27.08.2020 в 00:58
int(5)
int(7)
int(7)
int(6)
bool(false)
bool(true)
bool(false)
bool(true)
bool(false)
bool(true)
int(5)
float(0.2)
int(10)
bool(true)
bool(true)
bool(true)

Вообще конечно всё просто и понятно. Но! PhpStorm почему то лепит слово "expression" в каждом выражении. Почитал в комментах, увидел как убрать. Но хотелось бы и понимания для чего это делается?
На сложение целого числа со строкой ругается, но тем не менее выполняет код, правда складывает два целых числа. Если же попытаться сложить целое число просто со строкой, то через var_dump возвражет int(число). Это я к тому, что код выполнится в браузере, но результат, естественно будет другим.

ivashkevich 27.08.2020 в 08:43

Код на PHP выполняется на сервере, а не в браузере. Об этом был второй урок курса.

Perlll 29.08.2020 в 23:11

Да, это я не верно выразил мысль. Суть в том, что в целом код исполнится.
А вот про expression так и не разобрался. Чисто из любопытства.

elda 01.09.2020 в 00:18

var_dump(!1);
var_dump(!0);
var_dump(!true);
var_dump(2 && 3);
var_dump(5 && 0);
var_dump(3 || 0);
var_dump(5 / 1);
var_dump(1 / 5);
var_dump(5 + '5string');
var_dump('5' == 5);
var_dump('05' == 5);
var_dump('05 '== '5');

bool(false) bool(true) bool(false) bool(true) bool(false) bool(true) int(5) float(0.2) int(10) bool(true) bool(true) bool(true)

ivashkevich 03.09.2020 в 17:19

Ок

krauferrino 19.10.2020 в 12:33
<?php

echo '!1 = ' . $result;

$result = var_dump(!1);

echo "<hr>";

echo '!0 ' . $result;

$result = var_dump(!0);

echo "<hr>";

echo '!true' . $result;

$result = var_dump(!true);

echo "<hr>";

echo '2 && 3' . $result;

$result = var_dump(2 && 3 );

echo "<hr>";

echo '5 && 0' . $result;

$result = var_dump(5 && 0);

echo "<hr>";

echo '3 || 0' .  $result;

$result = var_dump(3 || 0);

echo "<hr>";

echo '5 / 1' . $result;

$result = var_dump(5 / 1);

echo "<hr>";

echo '1 / 5' . $result;

$result = var_dump(1 / 5 );

echo '<hr>';

echo '5 + 5string' . $result;

$result = var_dump(5 + '5string');

echo '<hr>';

echo '"5" == string' . $result;

$result = var_dump('5' == 5);

echo '<hr>';

echo '"05" == 5' . $result;

$result = var_dump('05'== 5);

echo '<hr>';

echo '"05" == "5 "' . $result;

$result = var_dump('05' == '5');

?>
ivashkevich 21.10.2020 в 04:55

Ок. Закрывающий тег ?> в конце файла не нужен.

pixel 03.11.2020 в 20:42

Почему закрывающий тег не нужен?
В phpstorm когда пишешь php код в html там автоматически ide ставить теги открытия и закрытия. А когда пишешь код в отдельном файле то закрывающий тег не ставится почему так?

ivashkevich 04.11.2020 в 11:53
ValeriiNN 21.10.2020 в 23:40
<?php
var_dump(!1);
echo '<br>';
var_dump(!0);
echo '<br>';
var_dump(!true);
echo '<br>';
var_dump(2&&3);
echo '<br>';
var_dump(5 && 0);
echo '<br>';
var_dump(3 || 0);
echo '<br>';
var_dump(5/1);
echo '<br>';
var_dump(1/5);
echo '<br>';
var_dump(5 + '5string');
echo '<br>';
var_dump( '5' == 5);
echo '<br>';
var_dump('05'== 5 );
echo '<br>';
var_dump('05'=='5');

результат

bool(false)
bool(true)
bool(false)
bool(true)
bool(false)
bool(true)
int(5)
float(0.2)
int(10)
bool(true)
bool(true)
bool(true)

ivashkevich 22.10.2020 в 18:48

Ок

Larisa 23.10.2020 в 10:14
<?php
var_dump(!1);
echo '<br>';
var_dump(!0);
echo '<br>';
var_dump(!true);
echo '<br>';
var_dump(2 && 3);
echo '<br>';
var_dump(5 && 0);
echo '<br>';
var_dump(3 || 0);
echo '<br>';
var_dump(5 / 1);
echo '<br>';
var_dump(1 / 5);
echo '<br>';
var_dump(5 + '5string');
echo '<br>';
var_dump('5' == 5);
echo '<br>';
var_dump('05' == 5);
echo '<br>';
var_dump('05' == '5');
echo '<br>';
?>

bool(false)
bool(true)
bool(false)
bool(true)
bool(false)
bool(true)
int(5)
float(0.2)
int(10)
bool(true)
bool(true)
bool(true)
ivashkevich 26.10.2020 в 05:39

ОК

tnull 27.10.2020 в 08:54
<?php
var_dump(!1);
echo "<br>";
var_dump(!0);
echo "<br>";
var_dump(!true);
echo "<br>";
var_dump(2 && 3);
echo "<br>";
var_dump(5 && 0);
echo "<br>";
var_dump(3 || 0);
echo "<br>";
var_dump(5 / 1);
echo "<br>";
var_dump(1 / 5);
echo "<br>";
var_dump(5 + '5string');
echo "<br>";
var_dump('5' == 5);
echo "<br>";
var_dump('05' == 5);
echo "<br>";
var_dump('05' == '5');
?>
ivashkevich 28.10.2020 в 20:21

Ок

RosenRot 05.11.2020 в 08:42
<?php

$x1 = !1;
echo '!1 - '.var_dump($x1)."<br>";

$x2 = !0;
echo '!0 - '.var_dump($x2)."<br>";

$x3 = !true;
echo '!true - '.var_dump($x3)."<br>";

$x4 = 2 && 3;
echo '2 && 3 - '.var_dump($x4)."<br>";

$x5 = 5 && 0;
echo '5 && 0 - '.var_dump($x5)."<br>";

$x6 = 3 || 0;
echo '3 || 0 - '.var_dump($x6)."<br>";

$x7 = 5 / 1;
echo '5 / 1 - '.var_dump($x7)."<br>";

$x8 = 1 / 5;
echo '1 / 5 - '.var_dump($x7)."<br>";

$x9 = 5 + '5string';
echo '5 + 5string - '.var_dump($x7)."<br>";

$x10 = '5' == 5;
echo '5 == 5 - '.var_dump($x10)."<br>";

$x11 = '05' == 5;
echo '05 == 5- '.var_dump($x11)."<br>";

$x12 = '05' == '5';
echo '05 == 5 - '.var_dump($x12)."<br>";

?>

Почему результат:
bool(false) !1 -
bool(true) !0 -
bool(false) !true - и т. д.?
Я думал будет:
!1 - bool(false) и так далее, то есть сначала текст, значение дамп и потом перенос строки.

ivashkevich 06.11.2020 в 16:04

var_dump сам по себе выводит значение уже. Не нужно echo

Soundgetcha 14.11.2020 в 23:13
<?php
var_dump(!1);
echo '<br>';
var_dump(!0);
echo '<br>';
var_dump(!true);
echo '<br>';
var_dump(2 && 3);
echo '<br>';
var_dump(5 && 0);
echo '<br>';
var_dump(3 || 0);
echo'<br>';
var_dump(5 / 1);
echo '<br>';
var_dump(1 / 5);
echo '<br>';
var_dump(5 + '5string');
echo '<br>';
var_dump('5' == 5);
echo '<br>';
var_dump('05' == 5);
echo '<br>';
var_dump('05' == '5');
?>
ivashkevich 15.11.2020 в 12:50

Ок

Lora 18.11.2020 в 15:17
<?php
 echo var_dump(!1), '<br>';
 echo var_dump(!0), '<br>';
 echo var_dump(!true), '<br>';
 echo var_dump(2&&3), '<br>';
 echo var_dump(5&&0), '<br>';
 echo var_dump(3||0), '<br>';
 echo var_dump(5/1), '<br>';
 echo var_dump(1/5), '<br>';
 echo var_dump(5+ '5string'), '<br>';
 echo var_dump('5'==5), '<br>';
 echo var_dump('05'==5), '<br>';
 echo var_dump('05'=='5');
?>

bool(false)
bool(true)
bool(false)
bool(true)
bool(false)
bool(true)
int(5)
float(0.2)
int(10)
bool(true)
bool(true)
bool(true) 
ivashkevich 19.11.2020 в 20:37

Перед var_dump не нужен echo!

[email protected] 05.12.2020 в 12:33
<?php
var_dump(!1);
echo '<br>';
var_dump(!0);
echo '<br>';
var_dump(!true);
echo '<br>';
var_dump(2 && 3);
echo '<br>';
var_dump(5 && 0);
echo '<br>';
var_dump(3 || 0);
echo'<br>';
var_dump(5 / 1);
echo '<br>';
var_dump(1 / 5);
echo '<br>';
var_dump(5 + '5string');
echo '<br>';
var_dump('5' == 5);
echo '<br>';
var_dump('05' == 5);
echo '<br>';
var_dump('05' == '5');
ivashkevich 06.12.2020 в 07:13

Ок

[email protected] 05.12.2020 в 17:17

var_dump(!1); // результат boolean false
var_dump(!0); // результат boolean false
var_dump(!true); // результат boolean false
var_dump(2 && 3); // результат boolean false
var_dump(5 && 0); // результат boolean false
var_dump(3 || 0); // результат boolean false
var_dump(5 / 1); // результат int 5
var_dump(1 / 5); // результат float 0,2
var_dump(5 + '5string'); // результат int 10
var_dump('5' == 5); // результат boolean true
var_dump('05' == 5); // результат boolean true
var_dump('05' == '5'); // результат boolean false

ivashkevich 06.12.2020 в 07:13

Ок. Такое лучше как код оформлять в комментариях

[email protected] 07.12.2020 в 09:49

Прошу прощения, "оформлять как код" - это как?

ivashkevich 07.12.2020 в 19:02

В редакторе комментариев самая первая кнопка)
Нажмите на карандашик и поправьте комментарий, пожалуйста.

[email protected] 09.12.2020 в 13:15
var_dump(!1); // результат boolean false
var_dump(!0); // результат boolean false
var_dump(!true); // результат boolean false
var_dump(2 && 3); // результат boolean false
var_dump(5 && 0); // результат boolean false
var_dump(3 || 0); // результат boolean false
var_dump(5 / 1); // результат int 5
var_dump(1 / 5); // результат float 0,2
var_dump(5 + '5string'); // результат int 10
var_dump('5' == 5); // результат boolean true
var_dump('05' == 5); // результат boolean true
var_dump('05' == '5'); // результат boolean false
ivashkevich 13.12.2020 в 07:28

Ок

Khrystyna 11.01.2021 в 01:03

bool(false)
bool(true)
bool(false)
bool(true)
bool(false)
bool(true)
int(5)
float(0.2)
int(10)
bool(true)
bool(true)
bool(true)

ivashkevich 11.01.2021 в 05:09

Ок

[email protected] 23.01.2021 в 19:42
<?php
echo var_dump(!1) , "<br>";
echo var_dump(!0) , "<br>";
echo var_dump(!true) , "<br>";
echo var_dump(2 && 3) , "<br>";
echo var_dump(5 && 0) , "<br>";
echo var_dump(3 || 0) , "<br>";
echo var_dump(5 / 1) , "<br>";
echo var_dump(1 / 5) , "<br>";
echo var_dump(5 + '5string') , "<br>";
echo var_dump('5' == 5) , "<br>";
echo var_dump('05' == 5) , "<br>";
echo var_dump('05' == '5') , "<br>";
?>
ivashkevich 23.01.2021 в 20:32

Ок!

Zesnar 26.01.2021 в 19:45
<?php

$x=!1;
var_dump($x);
//bool(false) //

echo '<br>';

$y=!0;
var_dump($y);
// bool(true) //

echo '<br>';

$z=!true;
var_dump($z);
//bool(false)//

echo '<br>';

$q=2&&2;
var_dump(2&&3);
//bool(true)//

echo '<br>';

$w=5&&0;
var_dump($w);
//bool(false)//

echo '<br>';

$e=3||0;
var_dump($e);
// bool(true)//

echo '<br>';

$r=5/1;
var_dump($r);
// int(5)//

echo '<br>';

$t=1/5;
var_dump($t);
// float(0.2)//

echo '<br>';

$a=5+'5string'; //при сравнения типа string, стоки всегда переводятся в числа, а потом сравниваются.//
var_dump($a);
//int(10)//

echo '<br>';

$s='5'==5;
var_dump($s);
//bool(true)//

echo '<br>';

$d='05'==5;
var_dump($d);
// bool(true)//

echo '<br>';

$f='05'=='5';
var_dump($f);
//bool(true)//
ivashkevich 26.01.2021 в 22:07

Отлично

Vladimir96 27.01.2021 в 23:27
var_dump(!1); //  false
var_dump(!0); //  true
var_dump(!true); //  false
var_dump(2 && 3); //  true
var_dump(5 && 0); //  false
var_dump(3 || 0); //  true
var_dump(5 / 1); //  5
var_dump(1 / 5 ); //  0.2
var_dump(5 + '5string'); // 10 // числа складываются а куда string делся?
var_dump('5' == 5); //  true
var_dump('05' == 5); //  true
var_dump('05' == '5'); //  true
ivashkevich 28.01.2021 в 07:52

Ок

Kinkadjoo 05.04.2021 в 13:48
<?php
echo 'ДЗ <br>';
var_dump(!1);
echo '<br>';
var_dump(!0);
echo '<br>';
var_dump(!true);
echo '<br>';
var_dump(2 && 3);
echo '<br>';
var_dump(5 && 0);
echo '<br>';
var_dump(3 || 0);
echo '<br>';
var_dump(5 / 1);
echo '<br>';
var_dump(1 / 5 );
echo '<br>';
var_dump(5 + '5string');
echo '<br>';
var_dump('5' == 5);
echo '<br>';
var_dump('05' == 5);
echo '<br>';
var_dump('05' == '5');

И результат:
ДЗ
bool(false)
bool(true)
bool(false)
bool(true)
bool(false)
bool(true)
int(5)
float(0.2)
int(10)
bool(true)
bool(true)
bool(true)
ivashkevich 08.04.2021 в 19:44

Ок

Логические задачи с собеседований