2016-08-20 2 views
3

Я новичок в PHP, и я не нашел способ, чтобы сравнить два элемента без типа ПринуждениеКак сделать> = с проверкой типов в PHP

Например:

var_dump(5>="1") // true 
var_dump(5>="6") // false 

Is есть ли оператор, который делает это с проверкой типа? (Я знаю, что я мог бы также проверить, является ли тип равным. Я просто спрашиваю, есть ли для этого специальный оператор)

+1

Да, вам необходимо отдельно проверить тип. '<'/'>' просто скажет вам, если одна вещь больше или меньше, чем другая вещь. – Rizier123

+3

Нет, нет '>', '> =', '<', '<=' эквивалентно '==='; вам нужно использовать отдельные проверки для типа и значения –

+1

, просто проверьте отдельно '$ varToTest =" 5 "; var_dump (5> = $ varToTest && is_int ($ varToTest)); ' – 0x13a

ответ

2

Хотя в комментариях есть много замечательных ответов, можно сделать больше вещей:

тип

var_dump(5>=(int)"1") будет отбрасывать "1" в целое число (1):

Тип жонглирования.

сравнение Типа:

var_dump(gettype(5) == gettype("1") && 5 >= "1") // false 
var_dump(gettype(5) == gettype((int) "1") && 5 >= (int)"1") // true 

Но короткий ответ нет, нет стенографии оператора, чтобы сделать это, как PHP практически построить вокруг переменного типа mix.

В php 7 вы также можете использовать скалярные типы в функциях: function foo(integer $bar){}, разрешающий strict types, и передача строки этой функции прекратит выполнение скрипта.

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

  • Нет связанных вопросов^_^