⊗ppSpOtRHO 73 of 83 menu

Tối ưu hóa việc lặp lại các thao tác nặng trong PHP

Trong bài học trước, các lần gọi hàm lặp lại thực sự chỉ tốn rất ít thời gian và việc tối ưu hóa của chúng ta sẽ tiết kiệm được không nhiều. Tuy nhiên, mọi thứ sẽ trở nên tệ hơn nhiều nếu chúng ta thực hiện nhiều lần gọi một hàm "nặng", hàm mà thực hiện trong một khoảng thời gian đủ lâu.

Giả sử, ví dụ, chúng ta có một hàm, hàm này tìm các ước số của một số:

<?php function getDivisors($num) { $result = []; for ($i = 1; $i <= $num; $i++) { if ($num % $i == 0) { $result[] = $i; } } return $result; } ?>

Rõ ràng là hàm này khá "nặng". Do đó, sẽ là một ý tưởng tồi nếu viết mã như thế này:

<?php $num = 123456; if (array_sum(getDivisors($num)) >= 10 and array_sum(getDivisors($num)) <= 100) { } else { } ?>

Tất nhiên, tốt hơn là thực hiện thao tác "nặng" một lần và ghi kết quả vào một biến, sau đó sử dụng biến này ở những nơi cần thiết:

<?php $num = 123456; $sum = array_sum(getDivisors($num)); if ($sum >= 10 and $sum <= 100) { } else { } ?>

Hãy tối ưu hóa mã dưới đây:

<?php $num = 1233456789; if (getSumSquare($num) >= 10 and getSumSquare($num) <= 100) { echo 'đúng'; } else { echo 'không đúng'; } function getSumSquare($num) { $digits = explode('', $num); $sum = 0; foreach ($digits as $digit) { $sum += $digit * $digit; } return $digit; } ?>
Tiếng Việt
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbek
Chúng tôi sử dụng cookie để vận hành trang web, phân tích và cá nhân hóa. Việc xử lý dữ liệu được thực hiện tuân theo Chính sách bảo mật.
chấp nhận tất cả tùy chỉnh từ chối