Làm thế nào chúng ta có thể biết tổng số phần tử của mảng PHP?

Thường thì rất hữu ích khi biết một mảng chứa bao nhiêu phần tử. Dưới đây là một số lý do phổ biến để đếm số phần tử trong một mảng

  • Sau đó, bạn có thể sử dụng vòng lặp $directors = array( "Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang" ); // Displays "Alfred Hitchcock, Stanley Kubrick, Martin Scorsese, Fritz Lang": $totalElements = count( $directors ); for ( $i=0; $i < $totalElements; $i++ ) { echo $directors[$i]; if ( $i < $totalElements -1 ) echo ", "; } 1 để di chuyển qua các phần tử
  • Bạn có thể hiển thị tổng số phần tử cho người dùng (chẳng hạn như số lượng kết quả tìm kiếm được trả về)
  • Bạn có thể tính giá trị trung bình của các giá trị trong mảng (kết hợp với $directors = array( "Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang" ); // Displays "Alfred Hitchcock, Stanley Kubrick, Martin Scorsese, Fritz Lang": $totalElements = count( $directors ); for ( $i=0; $i < $totalElements; $i++ ) { echo $directors[$i]; if ( $i < $totalElements -1 ) echo ", "; } 2)

PHP giúp dễ dàng đếm các phần tử mảng nhờ có hàm $directors = array( "Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang" ); // Displays "Alfred Hitchcock, Stanley Kubrick, Martin Scorsese, Fritz Lang": $totalElements = count( $directors ); for ( $i=0; $i < $totalElements; $i++ ) { echo $directors[$i]; if ( $i < $totalElements -1 ) echo ", "; } 3 tích hợp sẵn. Trong hướng dẫn này, bạn sẽ học cách sử dụng $directors = array( "Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang" ); // Displays "Alfred Hitchcock, Stanley Kubrick, Martin Scorsese, Fritz Lang": $totalElements = count( $directors ); for ( $i=0; $i < $totalElements; $i++ ) { echo $directors[$i]; if ( $i < $totalElements -1 ) echo ", "; } 3 để đếm các phần tử trong cả mảng thông thường và mảng nhiều chiều, cũng như cách di chuyển qua tất cả các phần tử của một mảng được lập chỉ mục bằng cách sử dụng vòng lặp $directors = array( "Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang" ); // Displays "Alfred Hitchcock, Stanley Kubrick, Martin Scorsese, Fritz Lang": $totalElements = count( $directors ); for ( $i=0; $i < $totalElements; $i++ ) { echo $directors[$i]; if ( $i < $totalElements -1 ) echo ", "; } 3 và $directors = array( "Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang" ); // Displays "Alfred Hitchcock, Stanley Kubrick, Martin Scorsese, Fritz Lang": $totalElements = count( $directors ); for ( $i=0; $i < $totalElements; $i++ ) { echo $directors[$i]; if ( $i < $totalElements -1 ) echo ", "; } 1

Cách sử dụng $directors = array( "Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang" ); // Displays "Alfred Hitchcock, Stanley Kubrick, Martin Scorsese, Fritz Lang": $totalElements = count( $directors ); for ( $i=0; $i < $totalElements; $i++ ) { echo $directors[$i]; if ( $i < $totalElements -1 ) echo ", "; } 3 cơ bản

Sử dụng $directors = array( "Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang" ); // Displays "Alfred Hitchcock, Stanley Kubrick, Martin Scorsese, Fritz Lang": $totalElements = count( $directors ); for ( $i=0; $i < $totalElements; $i++ ) { echo $directors[$i]; if ( $i < $totalElements -1 ) echo ", "; } 3 thật dễ dàng. Chỉ cần truyền cho nó mảng có các phần tử bạn muốn đếm và hàm trả về số lượng phần tử trong mảng

$directors = array( "Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang" ); // Displays "4" echo count( $directors );

Ví dụ trên đếm các phần tử trong một mảng được lập chỉ mục, nhưng bạn có thể dễ dàng đếm một mảng kết hợp

$movie = array( "title" => "Rear Window", "director" => "Alfred Hitchcock", "year" => 1954, "minutes" => 112 ); // Displays "4" echo count( $movie );

Di chuyển qua các mảng với các vòng lặp $directors = array( "Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang" ); // Displays "Alfred Hitchcock, Stanley Kubrick, Martin Scorsese, Fritz Lang": $totalElements = count( $directors ); for ( $i=0; $i < $totalElements; $i++ ) { echo $directors[$i]; if ( $i < $totalElements -1 ) echo ", "; } 3 và $directors = array( "Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang" ); // Displays "Alfred Hitchcock, Stanley Kubrick, Martin Scorsese, Fritz Lang": $totalElements = count( $directors ); for ( $i=0; $i < $totalElements; $i++ ) { echo $directors[$i]; if ( $i < $totalElements -1 ) echo ", "; } 1

Bạn có thể sử dụng $directors = array( "Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang" ); // Displays "Alfred Hitchcock, Stanley Kubrick, Martin Scorsese, Fritz Lang": $totalElements = count( $directors ); for ( $i=0; $i < $totalElements; $i++ ) { echo $directors[$i]; if ( $i < $totalElements -1 ) echo ", "; } 3, cùng với kiến ​​thức về vòng lặp $directors = array( "Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang" ); // Displays "Alfred Hitchcock, Stanley Kubrick, Martin Scorsese, Fritz Lang": $totalElements = count( $directors ); for ( $i=0; $i < $totalElements; $i++ ) { echo $directors[$i]; if ( $i < $totalElements -1 ) echo ", "; } 1 và cách làm việc với các phần tử mảng, để lặp qua tất cả các phần tử trong một mảng được lập chỉ mục

$directors = array( "Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang" ); // Displays "Alfred Hitchcock, Stanley Kubrick, Martin Scorsese, Fritz Lang": $totalElements = count( $directors ); for ( $i=0; $i < $totalElements; $i++ ) { echo $directors[$i]; if ( $i < $totalElements -1 ) echo ", "; }

Đoạn mã trên trước tiên đọc tổng số phần tử mảng bằng cách sử dụng $directors = array( "Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang" ); // Displays "Alfred Hitchcock, Stanley Kubrick, Martin Scorsese, Fritz Lang": $totalElements = count( $directors ); for ( $i=0; $i < $totalElements; $i++ ) { echo $directors[$i]; if ( $i < $totalElements -1 ) echo ", "; } 3 và lưu trữ kết quả (4) trong $movie = array( "title" => "Rear Window", "director" => "Alfred Hitchcock", "year" => 1954, "minutes" => 112 ); // Displays "4" echo count( $movie ); 9. Sau đó, nó lặp qua từng chỉ số phần tử, từ 0 đến $directors = array( "Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang" ); // Displays "Alfred Hitchcock, Stanley Kubrick, Martin Scorsese, Fritz Lang": $totalElements = count( $directors ); for ( $i=0; $i < $totalElements; $i++ ) { echo $directors[$i]; if ( $i < $totalElements -1 ) echo ", "; } 0 (i. e. 3), hiển thị giá trị của phần tử khi nó di chuyển. (Câu lệnh $directors = array( "Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang" ); // Displays "Alfred Hitchcock, Stanley Kubrick, Martin Scorsese, Fritz Lang": $totalElements = count( $directors ); for ( $i=0; $i < $totalElements; $i++ ) { echo $directors[$i]; if ( $i < $totalElements -1 ) echo ", "; } 1 hiển thị dấu phẩy và dấu cách sau mỗi phần tử ngoại trừ phần tử cuối cùng. )

Bạn cần phải cẩn thận một chút khi sử dụng $directors = array( "Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang" ); // Displays "Alfred Hitchcock, Stanley Kubrick, Martin Scorsese, Fritz Lang": $totalElements = count( $directors ); for ( $i=0; $i < $totalElements; $i++ ) { echo $directors[$i]; if ( $i < $totalElements -1 ) echo ", "; } 3 với $directors = array( "Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang" ); // Displays "Alfred Hitchcock, Stanley Kubrick, Martin Scorsese, Fritz Lang": $totalElements = count( $directors ); for ( $i=0; $i < $totalElements; $i++ ) { echo $directors[$i]; if ( $i < $totalElements -1 ) echo ", "; } 1. Như bạn đã thấy trong phần Tạo mảng trong PHP, PHP không phân biệt giữa mảng được lập chỉ mục và mảng kết hợp, và các chỉ số mảng số cũng không nhất thiết phải liền kề nhau. Xem xét ví dụ sau

error_reporting(E_ALL); ini_set( 'display_errors', true ); $directors = array( 0 => "Alfred Hitchcock", 1 => "Stanley Kubrick", 2 => "Martin Scorsese", 39 => "Fritz Lang" ); // Displays "Alfred Hitchcock, Stanley Kubrick, Martin Scorsese," // and generates an "Undefined offset: 3" notice: $totalElements = count( $directors ); for ( $i=0; $i < $totalElements; $i++ ) { echo $directors[$i]; if ( $i < $totalElements -1 ) echo ", "; }

Điều gì đang xảy ra ở đây? . Chúng tôi cũng đã đặt PHP để hiển thị tất cả các lỗi trong trình duyệt. Khi mã cố gắng đọc phần tử có chỉ số là 3, PHP sẽ tạo thông báo “Phần bù không xác định” vì phần tử có chỉ số này không tồn tại

Bài học ở đây là $directors = array( "Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang" ); // Displays "Alfred Hitchcock, Stanley Kubrick, Martin Scorsese, Fritz Lang": $totalElements = count( $directors ); for ( $i=0; $i < $totalElements; $i++ ) { echo $directors[$i]; if ( $i < $totalElements -1 ) echo ", "; } 4 chỉ bằng chỉ số của phần tử cuối cùng trong mảng khi các chỉ số mảng được đánh số liên tục (ví dụ: 0, 1, 2 và 3). May mắn thay, đây thường là trường hợp với các mảng được lập chỉ mục

Nếu bạn không chắc liệu các chỉ số của một mảng có liền nhau hay không, bạn có thể sử dụng các cấu trúc PHP khác như $directors = array( "Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang" ); // Displays "Alfred Hitchcock, Stanley Kubrick, Martin Scorsese, Fritz Lang": $totalElements = count( $directors ); for ( $i=0; $i < $totalElements; $i++ ) { echo $directors[$i]; if ( $i < $totalElements -1 ) echo ", "; } 5 để lặp qua các phần tử của mảng. (Thông tin thêm về $directors = array( "Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang" ); // Displays "Alfred Hitchcock, Stanley Kubrick, Martin Scorsese, Fritz Lang": $totalElements = count( $directors ); for ( $i=0; $i < $totalElements; $i++ ) { echo $directors[$i]; if ( $i < $totalElements -1 ) echo ", "; } 5 trong hướng dẫn sau. )

Đếm mảng nhiều chiều

Chúng tôi đã đề cập sơ qua về mảng nhiều chiều trong Tạo mảng trong PHP. Về bản chất, mảng nhiều chiều là mảng mà các phần tử của nó cũng là mảng

Theo mặc định, $directors = array( "Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang" ); // Displays "Alfred Hitchcock, Stanley Kubrick, Martin Scorsese, Fritz Lang": $totalElements = count( $directors ); for ( $i=0; $i < $totalElements; $i++ ) { echo $directors[$i]; if ( $i < $totalElements -1 ) echo ", "; } 3 chỉ đếm các phần tử ở cấp cao nhất của mảng nhiều chiều. Đây là một ví dụ

$movie = array( "title" => "Rear Window", "director" => "Alfred Hitchcock", "year" => 1954, "minutes" => 112 ); // Displays "4" echo count( $movie ); 0

Đoạn mã trên chỉ đếm 2 phần tử trong mảng cấp cao nhất ( $directors = array( "Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang" ); // Displays "Alfred Hitchcock, Stanley Kubrick, Martin Scorsese, Fritz Lang": $totalElements = count( $directors ); for ( $i=0; $i < $totalElements; $i++ ) { echo $directors[$i]; if ( $i < $totalElements -1 ) echo ", "; } 8 và $directors = array( "Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang" ); // Displays "Alfred Hitchcock, Stanley Kubrick, Martin Scorsese, Fritz Lang": $totalElements = count( $directors ); for ( $i=0; $i < $totalElements; $i++ ) { echo $directors[$i]; if ( $i < $totalElements -1 ) echo ", "; } 9)

Nếu bạn muốn đếm tất cả các phần tử trong một mảng nhiều chiều — nghĩa là, không chỉ các phần tử cấp cao nhất, mà cả các phần tử trong tất cả các mảng bên trong mảng — thì hãy chuyển hằng số error_reporting(E_ALL); ini_set( 'display_errors', true ); $directors = array( 0 => "Alfred Hitchcock", 1 => "Stanley Kubrick", 2 => "Martin Scorsese", 39 => "Fritz Lang" ); // Displays "Alfred Hitchcock, Stanley Kubrick, Martin Scorsese," // and generates an "Undefined offset: 3" notice: $totalElements = count( $directors ); for ( $i=0; $i < $totalElements; $i++ ) { echo $directors[$i]; if ( $i < $totalElements -1 ) echo ", "; } 0 làm đối số thứ hai cho $directors = array( "Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang" ); // Displays "Alfred Hitchcock, Stanley Kubrick, Martin Scorsese, Fritz Lang": $totalElements = count( $directors ); for ( $i=0; $i < $totalElements; $i++ ) { echo $directors[$i]; if ( $i < $totalElements -1 ) echo ", "; } 3

$movie = array( "title" => "Rear Window", "director" => "Alfred Hitchcock", "year" => 1954, "minutes" => 112 ); // Displays "4" echo count( $movie ); 4

Trong ví dụ trên, trước tiên, $directors = array( "Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang" ); // Displays "Alfred Hitchcock, Stanley Kubrick, Martin Scorsese, Fritz Lang": $totalElements = count( $directors ); for ( $i=0; $i < $totalElements; $i++ ) { echo $directors[$i]; if ( $i < $totalElements -1 ) echo ", "; } 3 đếm 2 phần tử trong mảng cấp cao nhất ( $directors = array( "Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang" ); // Displays "Alfred Hitchcock, Stanley Kubrick, Martin Scorsese, Fritz Lang": $totalElements = count( $directors ); for ( $i=0; $i < $totalElements; $i++ ) { echo $directors[$i]; if ( $i < $totalElements -1 ) echo ", "; } 8 và $directors = array( "Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang" ); // Displays "Alfred Hitchcock, Stanley Kubrick, Martin Scorsese, Fritz Lang": $totalElements = count( $directors ); for ( $i=0; $i < $totalElements; $i++ ) { echo $directors[$i]; if ( $i < $totalElements -1 ) echo ", "; } 9). Sau đó, nó đếm tất cả 8 phần tử trong các mảng lồng nhau ( error_reporting(E_ALL); ini_set( 'display_errors', true ); $directors = array( 0 => "Alfred Hitchcock", 1 => "Stanley Kubrick", 2 => "Martin Scorsese", 39 => "Fritz Lang" ); // Displays "Alfred Hitchcock, Stanley Kubrick, Martin Scorsese," // and generates an "Undefined offset: 3" notice: $totalElements = count( $directors ); for ( $i=0; $i < $totalElements; $i++ ) { echo $directors[$i]; if ( $i < $totalElements -1 ) echo ", "; } 5 đến error_reporting(E_ALL); ini_set( 'display_errors', true ); $directors = array( 0 => "Alfred Hitchcock", 1 => "Stanley Kubrick", 2 => "Martin Scorsese", 39 => "Fritz Lang" ); // Displays "Alfred Hitchcock, Stanley Kubrick, Martin Scorsese," // and generates an "Undefined offset: 3" notice: $totalElements = count( $directors ); for ( $i=0; $i < $totalElements; $i++ ) { echo $directors[$i]; if ( $i < $totalElements -1 ) echo ", "; } 6, sau đó là error_reporting(E_ALL); ini_set( 'display_errors', true ); $directors = array( 0 => "Alfred Hitchcock", 1 => "Stanley Kubrick", 2 => "Martin Scorsese", 39 => "Fritz Lang" ); // Displays "Alfred Hitchcock, Stanley Kubrick, Martin Scorsese," // and generates an "Undefined offset: 3" notice: $totalElements = count( $directors ); for ( $i=0; $i < $totalElements; $i++ ) { echo $directors[$i]; if ( $i < $totalElements -1 ) echo ", "; } 7 đến error_reporting(E_ALL); ini_set( 'display_errors', true ); $directors = array( 0 => "Alfred Hitchcock", 1 => "Stanley Kubrick", 2 => "Martin Scorsese", 39 => "Fritz Lang" ); // Displays "Alfred Hitchcock, Stanley Kubrick, Martin Scorsese," // and generates an "Undefined offset: 3" notice: $totalElements = count( $directors ); for ( $i=0; $i < $totalElements; $i++ ) { echo $directors[$i]; if ( $i < $totalElements -1 ) echo ", "; } 8). Điều này dẫn đến tổng cộng 10 yếu tố

Bản tóm tắt

Trong hướng dẫn này, bạn đã khám phá hàm $directors = array( "Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang" ); // Displays "Alfred Hitchcock, Stanley Kubrick, Martin Scorsese, Fritz Lang": $totalElements = count( $directors ); for ( $i=0; $i < $totalElements; $i++ ) { echo $directors[$i]; if ( $i < $totalElements -1 ) echo ", "; } 3 của PHP để đếm số phần tử trong một mảng. Bạn cũng đã học

Chủ đề