Какой вариант лучше:
// Option 1: $intValue = (int) $numericValue; // Option 2: $intValue = intval($numericValue);
Есть ли разница между этими двумя строками и какая должна быть использована в этой ситуации?
intval
медленнее, чем литье в int
(это функция) intval
может принимать базу, если ее первым параметром является строка Поскольку второй элемент действительно неясен, объективно следует сказать, что intval
просто «хуже».
Тем не менее, лично мне нравится читать intval($var)
лучше, чем (int)$var
(последнему также может потребоваться обертка в дополнительных parens), и поскольку, если вы конвертируете в int
внутри цикла, вы определенно делаете что-то неправильно, я использую intval
,
Все поведение объясняется здесь вместе с GOTCHAS …
http://php.net/manual/en/function.intval.php
http://www.php.net/manual/en/language.types.type-juggling.php