⊗ppSpOtLAC 75 of 83 menu

Tính toán không cần thiết độ dài mảng trong vòng lặp PHP

Cho một mảng số bất kỳ:

<?php $arr = [1, 2, 3, 4, 5]; ?>

Hãy làm sao để mỗi phần tử của mảng được bình phương lên. Tức là chúng ta vẫn giữ nguyên mảng $arr, nhưng với các số đã bình phương.

Trong trường hợp này, vòng lặp foreach không phù hợp, mà cần một vòng lặp for thông thường trên mảng, như thế này:

<?php $arr = [1, 2, 3, 4, 5]; for ($i = 0; $i < count($arr); $i++) { $arr[$i] = $arr[$i] * $arr[$i]; // thay đổi từng phần tử của mảng } var_dump($arr); ?>

Có gì không ổn với đoạn code này? Vấn đề là count($arr) sẽ được tính toán một cách vô nghĩa trong mỗi lần lặp của vòng lặp! Tại sao lại thế, bởi vì độ dài mảng không thay đổi trong vòng lặp, đúng không?

Để tối ưu hóa, hãy đưa việc tính toán độ dài mảng ra một biến riêng:

<?php $arr = [1, 2, 3, 4, 5]; $len = count($arr); // tối ưu hóa for ($i = 1; $i < $len; $i++) { $arr[$i] = $arr[$i] * $arr[$i]; } var_dump($arr); ?>

Hãy tối ưu hóa đoạn code dưới đây:

<?php $arr = [1, 2, 2, 4, 5]; for ($i = 1; $i < count($arr); $i++) { if ($arr[$i - 1] === $arr[$i]) { echo $arr[$i] . '<br>'; } } ?>
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