Чат Telegram
Группа ВКонтакте
Новый комментарий

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, стоки всегда переводятся в числа, а потом сравниваются. Тут

Daniil 07.07.2017 в 10:47

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

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

Результат:

string(12) "Hello world!"
kertsad@gmail.com 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

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

nemo.dont@gmail.com 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

Отлично!

anastasiia.khaliuk@yandex.ru 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

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

ArtemijeKA 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"

paradise1983@icloud.com 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'. У них разные типы: число и строка.

rashik-2009@yandex.ru 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

Верно

eoskatrin11@gmail.com 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.

kamil-uzd@yandex.ru 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. Но это очень хорошо, что вы этими знаниями уже обладаете.

kamil-uzd@yandex.ru 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

Отлично

potapkin.andy@gmail.com 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

Отлично

ohaya_kundagu@mail.ru 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

Отлично

pollaltermann@gmail.com 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

Супер!)

fav.alexandr@bk.ru 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

Отлично

bond775511@gmail.com 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.

vitaliy2x2@gmail.com 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\webshake\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

Ок

mornind@gmail.com 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

Норм!

777mirosh@mail.ru 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

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

777mirosh@mail.ru 10.04.2020 в 13:36

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

mail-spam2012@yandex.ru 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_77779@mail.ru 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

janybekova56@mail.ru 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

Ок

tsaruk4356@gmail.com Patron 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

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

?>

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

alexfonsid@gmail.com 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 Patron 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 Patron 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 Patron 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

Ок

kit123@bk.ru 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

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

kit123@bk.ru 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

Ок

pwe.2312@yandex.ru 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 Patron 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

Отлично

alexneodolgiy@gmail.com 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

Ок

andrewstarcevmarty@gmail.com 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

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

andrewstarcevmarty@gmail.com 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

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

vqp999qpv@mail.ru 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

Прощаю)

sofya.prisyacheva@yandex.ru 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

Верно

ppohila@yandex.ru 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

Супер)

stg1981.29@gmail.com Patron 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

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

loss@rambler.ru 30.06.2020 в 21:31

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

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

ivashkevich 01.07.2020 в 18:22

Пожалуйста)

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