Пользователь
if (array_key_exists('HTTP_LORI_DEBUG', $_SERVER) and $_SERVER['HTTP_LORI_DEBUG'] == 'DEBUG IT, DEBUG!')
if (getenv('HTTP_LORI_DEBUG') == 'DEBUG IT, DEBUG!')
<?php $array = range(0, 100000); $t1 = microtime(true); for ($i = 0; $i < count($array); $i++) { $a = $array[$i]; } $t1 = microtime(true) - $t1; var_dump($t1); $t1 = microtime(true); $c = count($array); for ($i = 0; $i < $c; $i++) { $a = $array[$i]; } $t1 = microtime(true) - $t1; var_dump($t1);
float 0.24822592735291 float 0.046469926834106
<?php $iterations = 100001; $t1 = microtime(true); for ($i = 0; $i < $iterations; $i++) { $a = 1; } $t1 = microtime(true) - $t1; var_dump($t1);
float 0.038902044296265
<?php $iterations = 100001; $arr = array('h', 'e', 'l', 'l', 'o'); $t1 = microtime(true); for ($i = 0; $i < $iterations; $i++) { $arr = reverse1($arr); } $t1 = microtime(true) - $t1; var_dump($arr); var_dump($t1); $arr = array('h', 'e', 'l', 'l', 'o'); $t2 = microtime(true); for ($i = 0; $i < $iterations; $i++) { $arr = reverse2($arr); } $t2 = microtime(true) - $t2; var_dump($arr); var_dump($t2); function reverse1($arr) { for ($i = 0; $i < floor(count($arr)/2); $i++) { $tmp = $arr[$i]; $arr[$i] = $arr[count($arr)-$i-1]; $arr[count($arr)-$i-1] = $tmp; } return $arr; } function reverse2($arr) { $c = count($arr); for ($i = 0; $i < floor($c/2); $i++) { $tmp = $arr[$i]; $arr[$i] = $arr[$c-$i-1]; $arr[$c-$i-1] = $tmp; } return $arr; }
array 0 => string 'o' (length=1) 1 => string 'l' (length=1) 2 => string 'l' (length=1) 3 => string 'e' (length=1) 4 => string 'h' (length=1) float 2.8682391643524 array 0 => string 'o' (length=1) 1 => string 'l' (length=1) 2 => string 'l' (length=1) 3 => string 'e' (length=1) 4 => string 'h' (length=1) float 1.7087500095367
Можно заменить на:
А за статью спасибо.
— Не смог осилить %другая_профессия%.
Да?
Вывод:
Во втором издании код отформатируйте, пожалуйста, а еще лучше — подсветите.
Про Prepared statements ни слова, зато есть strip_tags. О_о.
И подскажите, в чем схемы рисовали?