Кажется, что нет никакой разницы между этими двумя методами, так как var_dump
возвращает один и тот же результат, используя оба метода.
Простой пример:
// integer
$var = 3;
Методы и результаты:
var_dump($var); // ouput: int(3)
var_dump((string) $var); // string(1) "3"var_dump(strval($var)); // string(1) "3"
Как вы видите, случаи 2 и 3 возвращают строку как исключенную.
Как вы думаете?
Самым большим отличием будет тот факт, что функция (любая функция) несет некоторые накладные расходы. Это незначительная сумма, поэтому, по большей части, эта дискуссия носит более академический характер, чем что-либо еще. Ссылка Гертона доказывает, что он медленнее, но вы вряд ли заметите этот пробел в обычном исполнении, потому что он запустил эту функцию 1 миллион раз чтобы получить Разрыв 0,7 с (и он использовал PHP 5.2, в то время как PHP 7 мог бы сделать этот разрыв еще меньше). Рассмотрите эту статью о времени выполнения функции
Второй совет — PHP быстрый, поверьте мне. То, что вы просите сделать, то, как он выполняет свою работу и инструменты, которые он представляет для вас: это быстро, эффективно, надежно. Существует не так много возможностей для оптимизации PHP-скриптов, по крайней мере, не так, как если бы вы использовали язык более низкого уровня, такой как C. Основной трюк заключается в оптимизации того, что повторяется: циклы. Если вы используете профилировщик, показывающий вам горячий путь вашего скрипта, вы обнаружите, что он может быть расположен в циклах. Это то же самое, когда мы, как участники, оптимизируем сам PHP: мы не будем беспокоиться об оптимизации части кода, которую сработают несколько пользователей, но лучше оптимизируем горячий путь: доступ к переменным, вызовы функций движка и т. Д … Потому что здесь очень маленькая заработанная микросекунда преобразуется в конечные миллисекунды или даже секунды, поскольку такой код выполняется тонны раз (как правило, с использованием циклов). За исключением foreach (), в PHP циклы одинаковы и приводят к одному и тому же OPCode. Превращение PHP-цикла while в цикл for бесполезно и глупо. Еще раз: профилирование скажет вам это.
Других решений пока нет …