2014-09-07 2 views
-1

Я просто проверяю свой следующий PHP-код. это должно быть шоу 0, но почему он показывает мне 1? Вы можете это объяснить?

<?php 
$x = (bool) " " * (int) (string) 12E-1; 
echo $x; 
?> 

output: 1 

ответ

1
$a = (bool) " ";//true 
$b = (string) 12E-1;//"1.2" 
$c = (int) $b;//1 
$x = $a * $c;//true * 1, typecasting to int 
var_dump($a); 
var_dump($b); 
var_dump($c); 
var_dump($x); 
//prints bool(true) string(3) "1.2" int(1) int(1) 
+0

спасибо за ваш ответ. Я понимаю. Я начинаю php. – Shibbir

+0

Еще одна вещь. '' '' это пустая строка? Если не так? – Shibbir

+0

«" не пустая строка, пустое пространство может выглядеть пустым для глаз человека, но не для компьютера ... Попробуйте сами '$ a =" "; var_dump (empty ($ a));", а затем '$ a = ""; var_dump (пусто ($ a)); – Yani

Смежные вопросы