2016-01-07 2 views
1

То же самое для intval/(int), floatval/(float) и т.д.

Насколько я могу разобрать, ни изменяет исходную переменную, и они оба возвращают с приведением версию. Они кажутся функционально идентичными.

Есть ли краевые случаи, где есть разница?

Любая причина когда-либо использовать один над другим?

Лучшая практика?

Я предполагаю, что (bool) «лучше», поскольку я полагаю, что это, вероятно, быстрее, чем вызов функции, который, по всей вероятности, просто делает то же самое. Если это так, то в чем смысл этих функций boolval/intval/floatval?

ответ

4

По большей части они идентичны, однако существуют тонкие различия:

  • некоторые функции, такие как intval принимают второй параметр ($base), который синтаксис литая не делает
  • вызов функции имеет немного больше служебных
  • функций могут быть использованы в качестве обратных вызовов (например, array_map('intval', ..)), что невозможно с литым синтаксисом
Смежные вопросы