PHPでの繰り返し操作の最適化
初心者プログラマーは往々にして無頓着に 同じ関数を複数回呼び出し、リソースを浪費しています。
例を見てみましょう。 次のコードを考えてみます:
<?php
$arr = [1, 2, 3, 4, 5];
if (count($arr) >= 1 and count($arr) <= 3) {
}
?>
このコードの何が問題でしょうか?問題は、
私たちが同じことを二度行っていることです -
count($arr)を使って配列の長さを計算しています。
この操作には時間がかかり、できれば一度だけ実行し、
その結果を変数に代入して、
必要な場所でその変数を使うのが望ましいです。
次のようにします:
<?php
$arr = [1, 2, 3, 4, 5];
$len = count($arr);
if ($len >= 1 and $len <= 3) {
}
?>
以下のコードを最適化してください:
<?php
if (date('Y') >= 2018 and date('Y') <= 2020) {
echo 'year ' . date('Y') . ' is suitable';
} else {
echo 'year ' . date('Y') . ' is not suitable';
}
?>
以下のコードを最適化してください:
<?php
$password = 'abcde';
if (strlen($password) >= 2 and strlen($password) <= 10) {
echo 'password length is acceptable';
} else {
echo 'invalid password length';
}
?>