Nicholas
Новичок
Всем любителям @
Простенький тест:
В результате получаем:
То есть @ в 6 раз медленнее, чем isset
Далее, если инициализировать переменную следующим образом:
То при значениях $test = 15 | 0 | null, получаем:
То есть во втором случае у нас переменная инициализируется неверным значением.
Простенький тест:
PHP:
$result = array();
$sum = 0;
for ($i = 0; $i < 10; $i++) {
$start_test = microtime(true);
for ($j = 0; $j < 1000000; $j++) {
if (isset($test)) { /*Для второго теста здесь подставить if (@$test)*/
$test = $_POST['test'];
}
else {
$test = 'test';
}
}
$result[$i] = microtime(true) - $start_test;
}
echo 'Время работы теста: ';
for ($i = 0; $i < 10; $i++) {
printf ('%.3f|', $result[$i]);
$sum += $result[$i];
}
printf ('<b>%.3f</b>', $sum/10);
Код:
Время работы первого теста: 0.429|0.404|0.392|0.400|0.393|0.395|0.394|0.389|0.391|0.419|[B]0.401[/B]
Время работы второго теста: 2.537|2.523|2.495|2.526|2.491|2.523|2.495|2.524|2.505|2.520|[B]2.514[/B]
Далее, если инициализировать переменную следующим образом:
PHP:
$var1 = @$test ? $test : 15;
$var2 = isset($test) ? $test : 15;
Код:
var1: 15, var2: 15
var1: 15, var2: 0
var1: 15, var2: 15