Нагрузка функций PHP
- Подробности
- Категория: PHP
- Просмотров: 166
Прежде чем делать большой проект, вы должны это знать...
"Нагрузка функций PHP" и сразу к теме:
1) Добавление последнего элемента массива
<?php
// ...
//Способ №1.
$array[] = $i; // 0.503 с
//Способ №2
array_push($array, $i); // 0.998 с
Как видим разница в 2 раза! и это очень много.
2) если говорить про эффективность одинарных и двойных кавычек:
<?php
// ...
// Двойные кавычки
$string = "count - $i"; //0.505 с
// Конкатенация
$string = 'count - ' . $i; //0.424 с
3) обход массивов с помощью функций for и foreach
<?php
// ...
// Способ №1. Простой foreach без ключа // 0.112 с
foreach ($array as $item){
$summ += $item;
}
// Способ №2. Foreach с выборкой ключа // 0.131 с
foreach ($array as $key=>$item){
$summ += $item;
}
// Способ №3. Foreach с получением значения по ссылке // 0.144 с
foreach ($array as $key=>&$item){
$summ += $item;
}
// Способ №4. Цикл For и функция next() // 0.383 с
$summ = current($array);
for ($i = 0; $i < $size; $i++){
$summ += next($array);
}
//Способ №5. While и функция each() //1.180 с
while (list($key, $value) = each($array)){
$summ += $value;
}
//Способ №6. Обычный For //0.120 с
for ($i=0; $i<$count; $i++){
$summ += $array[$i];
}
4) is_null, isset, empty - не null , проверка на существование и пустоты
<?php
// ...
// Сравнение с null // 0.652 с
if ($a != null){
$summ += $i;
}
// Эквивалентно null //0.709 с
if ($a !== null){
$summ += $i;
}
// isset //0.080 с
if (isset($a)){
$summ += $i;
}
// is_null //1.021 с
if (!is_null($a)){
$summ += $i;
}
//empty //0.105 с
if (!empty($a)){
$summ += $i;
}
Сразу становится понятно какие методы в PHP стоит использовать.
5) if else и тернарный оператор
<?php
// ...
// if-else // 0.126 с
if ( ($i % 2) == 0 )
$summ += $i;
else
$summ -= $i;
// Тернарный оператор //0.176 с
$summ += (($i % 2) == 0)?$i:(-$i);