Как работает Casting в PHP? - PullRequest
       58

Как работает Casting в PHP?

3 голосов
/ 07 декабря 2009

Что не работает:

(int)08 == (int)09==0

Но это и это делает?

(int)07==7 
(int)06==6 

Ответы [ 6 ]

14 голосов
/ 07 декабря 2009

08 находится в восьмеричной базе (потому что начинается с 0), следовательно, оно недопустимо. См. Документацию .

11 голосов
/ 07 декабря 2009

потому что 08 и 09 не являются действительными восьмеричными числами. см. Предупреждение в документации .

1 голос
/ 07 декабря 2009

Вы вводите неверное число в восьмеричной базе.

0 голосов
/ 15 июля 2015

вы явно вводите типизацию с помощью (int)

Лучше использовать intval().

0 голосов
/ 07 декабря 2009
// Syntax error
//(int)08 == (int)09==0

// This works
(int)08==0;
(int)09==0;

// This also works
(int)08 == ((int)09==0);
0 голосов
/ 07 декабря 2009

Чтобы использовать шестнадцатеричное обозначение, перед числом введите 0x.

Следовательно,

 $num = (int)0x9
 $num == 9
...