184 of 410 menu

Hàm array_reduce

Hàm array_reduce thu gọn (reduce) một mảng xuống một giá trị duy nhất bằng cách sử dụng callback.

Tham số đầu tiên hàm nhận một mảng, tham số thứ hai - một callback, sẽ được áp dụng lần lượt cho từng phần tử của mảng.

Tham số thứ ba không bắt buộc là giá trị khởi tạo, từ đó việc thu gọn mảng sẽ bắt đầu. Mặc định tham số này có giá trị null.

Hàm callback nhận hai tham số. Tham số đầu tiên chứa giá trị kết quả từ lần lặp trước. Trong trường hợp lần lặp đầu tiên, nó chứa giá trị của tham số thứ ba.

Còn tham số thứ hai của callback chứa phần tử hiện tại của mảng.

Callback sẽ lần lượt được áp dụng cho từng phần tử của mảng. Giá trị mà callback trả về ở lần lặp hiện tại, sẽ trở thành tham số đầu tiên của callback ở lần lặp tiếp theo.

Như vậy, callback sẽ lần lượt áp dụng cho từng phần tử của mảng theo thứ tự và cuối cùng thu được một giá trị nào đó. Giá trị này sẽ là kết quả của hàm array_reduce.

Cú pháp

array_reduce(array $array, callable $callback, mixed $initial = null): mixed

Ví dụ

Hãy tìm tổng các phần tử của mảng:

<?php $arr = [1, 2, 3, 4, 5]; function func($prev, $elem) { return $prev + $elem; } $res = array_reduce($arr, 'func', 0); echo $res; ?>

Kết quả thực thi mã:

15

Xem thêm

  • hàm array_map,
    áp dụng một hàm cho các phần tử của mảng
  • hàm array_walk,
    gọi một hàm cho các phần tử của mảng
  • hàm array_filter,
    lọc một mảng
  • hàm array_walk_recursive,
    đệ quy gọi một hàm cho các phần tử của mảng
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