PHP đếm mảng đa chiều

Tuy nhiên, đôi khi bạn muốn lưu trữ các giá trị có nhiều hơn một khóa. Đối với điều này, chúng ta có các mảng đa chiều


PHP - Mảng đa chiều

Mảng nhiều chiều là mảng chứa một hoặc nhiều mảng

PHP hỗ trợ các mảng đa chiều có độ sâu hai, ba, bốn, năm hoặc nhiều cấp độ hơn. Tuy nhiên, mảng sâu hơn ba cấp khó quản lý đối với hầu hết mọi người

Kích thước của một mảng cho biết số lượng chỉ số bạn cần để chọn một phần tử

  • Đối với mảng hai chiều, bạn cần hai chỉ số để chọn một phần tử
  • Đối với mảng ba chiều, bạn cần ba chỉ số để chọn một phần tử


PHP - Mảng hai chiều

Mảng hai chiều là mảng của mảng (mảng ba chiều là mảng của mảng của mảng)

Đầu tiên, hãy nhìn vào bảng sau

NameStockSoldVolvo2218BMW1513Saab52Land Rover1715

Chúng ta có thể lưu trữ dữ liệu từ bảng trên trong một mảng hai chiều, như thế này

$cars = mảng (
mảng("Volvo",22,18),
mảng("BMW",15,13),
mảng("Saab",5,2),
mảng("Land Rover",17,15)
);

Bây giờ mảng hai chiều $cars chứa bốn mảng và nó có hai chỉ số. hàng và cột

Để có quyền truy cập vào các phần tử của mảng $cars, chúng ta phải trỏ đến hai chỉ số (hàng và cột)

Ví dụ

tiếng vang $cars[0][0]. ". Trong kho. ". $car[0][1]. ", đã bán. ". $car[0][2]. "
“;
tiếng vang $cars[1][0]. ". Trong kho. ". $car[1][1]. ", đã bán. ". $car[1][2]. "
“;
tiếng vang $cars[2][0]. ". Trong kho. ". $car[2][1]. ", đã bán. ". $car[2][2]. "
“;
tiếng vang $cars[3][0]. ". Trong kho. ". $car[3][1]. ", đã bán. ". $car[3][2]. "
“;
?>

Tự mình thử »

Chúng ta cũng có thể đặt một vòng lặp for bên trong một vòng lặp for khác để lấy các phần tử của mảng $cars (chúng ta vẫn phải trỏ đến hai chỉ số)

❮ Tham chiếu mảng PHP

Ví dụ

Trả về số phần tử trong mảng

$cars=array("Volvo","BMW","Toyota");
số lượng tiếng vang ($cars);
?>

Tự mình thử »


Định nghĩa và cách sử dụng

Hàm count() trả về số lượng phần tử trong một mảng


cú pháp

Giá trị tham số

Tham sốMảng mô tảBắt buộc. Chỉ định ArraymodeOptional. Chỉ định chế độ. Những giá trị khả thi
  • 0 - Mặc định. Không đếm hết các phần tử của mảng nhiều chiều
  • 1 - Đếm mảng đệ quy (đếm tất cả các phần tử của mảng nhiều chiều)


chi tiết kỹ thuật

Giá trị trả về. Trả về số phần tử trong mảngPhiên bản PHP. 4+Nhật ký thay đổi PHP. Tham số chế độ đã được thêm vào trong PHP 4. 2

Thêm ví dụ

Ví dụ

Đếm mảng theo cách đệ quy

$cars=mảng
(
"Volvo"=>mảng
(
"XC60",
"XC90"
),
"BMW"=>mảng
(
"X3",
"X5"
),
"Toyota"=>mảng
(
"Người vùng cao"
)
);

echo "Số bình thường. ". đếm($ô tô). "
“;
echo "Đếm đệ quy. ". đếm($cars,1);
?>

Tự mình thử »


❮ Tham chiếu mảng PHP

Đối số đầu tiên chứa một biến mảng. Giá trị mặc định của đối số thứ hai là COUNT_NORMAL hoặc 0 được sử dụng để đếm độ dài của mảng một chiều. Một giá trị khác của đối số này là COUNT_RECURSIVE hoặc 1 được sử dụng để đếm độ dài của mảng nhiều chiều

ví dụ 1. Sử dụng Hàm đếm () cho Mảng một chiều

Tạo một tệp PHP với tập lệnh sau để đếm độ dài của một mảng số bằng cách sử dụng hàm đếm (). Ở đây, một mảng dữ liệu khác nhau đã được khai báo trong tập lệnh. Tiếp theo, độ dài của mảng đã được đếm và in ra


//Khai báo một mảng
$MyArr = mảng(10, 'John','Blue', 'Pizza', 3.45);

// Đếm tổng số phần tử của mảng
$len = count($MyArr);

//In giá trị độ dài
echo "Tổng số phần tử trong mảng là $len . ";
?>

đầu ra
Đầu ra sau sẽ xuất hiện sau khi thực thi tập lệnh

PHP đếm mảng đa chiều

ví dụ 2. Sử dụng Hàm đếm () cho Mảng đa chiều

Tạo một tệp PHP với tập lệnh sau để đếm độ dài của một mảng nhiều chiều bằng cách sử dụng hàm đếm (). Mảng chứa mảng là một phần tử trong mảng nhiều chiều. Đối số tùy chọn của hàm đếm() được yêu cầu để đếm các phần tử của các mảng bên trong của mảng nhiều chiều. Giá trị COUNT_RECURSIVE đã được sử dụng trong giá trị đối số thứ hai của hàm đếm tổng chiều dài của mảng nhiều chiều


//Khai báo mảng nhiều chiều
$multiArray = mảng(5, array('101','453','764'), 8, array('101','453'));

// Đếm tổng các phần tử của mảng chính
$len = count($multiArray);

//In ra độ dài của mảng chính
echo "Tổng số phần tử của mảng chính là $len . "";

// Đếm tổng các phần tử của mảng bằng COUNT_RECURSIVE
$len = count($multiArray, COUNT_RECURSIVE);

//In ra tổng các phần tử của mảng chính và mảng trong
echo "Tổng các phần tử của mảng chính và mảng bên trong là $len . ";
?>

đầu ra
Đầu ra sau sẽ xuất hiện sau khi thực thi tập lệnh. Ở đây, độ dài của mảng chính là 4 chứa 2 số và 2 mảng. Độ dài của mảng với các phần tử của mảng bên trong là 9 (4+3+2) vì một mảng bên trong chứa 3 phần tử và một mảng bên trong khác chứa 2 phần tử

PHP đếm mảng đa chiều

ví dụ 3. Sử dụng Hàm đếm () cho Mảng kết hợp

Tạo một tệp PHP với tập lệnh sau để đếm độ dài của mảng kết hợp bằng cách sử dụng hàm đếm (). Mảng kết hợp nhiều chiều đã được sử dụng trong kịch bản. Giống như ví dụ trước, giá trị COUNT_RECURSIVE đã được sử dụng trong đối số thứ hai của hàm count() để tính độ dài của mảng kết hợp với các phần tử của mảng bên trong


//Khai báo mảng kết hợp
$assoc_array = ['id' => '111896733',
              'name' => 'Mir Abbas',
              'marks' => [
              'CSE305' => 79,
              'CSE312' => 85,
                'CSE401' => 75,
                'CSE407' => 65]];

// Đếm tổng các phần tử của mảng bằng COUNT_RECURSIVE
$len = count($assoc_array, COUNT_RECURSIVE);

//In ra tổng các phần tử của mảng
echo "Tổng các phần tử của mảng chính và mảng bên trong là $len . ";
?>

đầu ra
Đầu ra sau sẽ xuất hiện sau khi thực thi tập lệnh. Ở đây, mảng chính chứa 3 phần tử và mảng bên trong chứa 4 phần tử. Tổng các phần tử là 3+4 hoặc 7

PHP đếm mảng đa chiều

Sử dụng hàm sizeof()

Một cách khác để đếm độ dài của một mảng là sử dụng hàm sizeof(). Nó hoạt động tương tự như hàm đếm(). Cú pháp của chức năng này được cung cấp dưới đây

cú pháp
Hàm này có thể nhận hai đối số. Đối số đầu tiên là bắt buộc và đối số thứ hai là tùy chọn. Nó trả về tổng số phần tử của mảng sẽ được sử dụng trong đối số đầu tiên

int sizeof(mảng $array[, int mode=0);

Giống như hàm đếm(), đối số đầu tiên của hàm này chứa một biến mảng. Đối số thứ hai là tùy chọn và giá trị mặc định của đối số này là 0 được sử dụng để đếm độ dài của mảng một chiều. Một giá trị khác của đối số này là 1 dùng để đếm độ dài của mảng nhiều chiều

Ví dụ 4. Sử dụng hàm sizeof() để tính độ dài của mảng

Tạo một tệp PHP với tập lệnh sau để đếm độ dài của một số và một mảng kết hợp bằng cách sử dụng hàm sizeof(). Các giá trị mảng giống nhau của các ví dụ trước đã được sử dụng trong tập lệnh này. Ở đây, độ dài của các mảng đã được tính bằng cách sử dụng hàm sizeof()


//Khai báo một mảng
$MyArr = mảng(10, 'John','Blue', 'Pizza', 3.45);

// Đếm tổng số phần tử của mảng
$len = sizeof($MyArr);

//In giá trị độ dài
echo "Tổng các phần tử của mảng số là $len . "";

//Khai báo mảng kết hợp
$assoc_array = ['id' => '111896733',
              'name' => 'Mir Abbas',
              'marks' => [
              'CSE305' => 79,
              'CSE312' => 85,
                'CSE401' => 75,
                'CSE407' => 65]];

// Đếm tổng các phần tử của mảng không có đối số tùy chọn
$len = sizeof($assoc_array);
//In ra tổng các phần tử của mảng
echo "Tổng số phần tử của mảng kết hợp chính là $len . "";

// Đếm tổng các phần tử của mảng với đối số tùy chọn
$len = sizeof($assoc_array, true);
//In ra tổng các phần tử của mảng
echo "Tổng số phần tử của mảng kết hợp chính và bên trong là $len . ";

?>

đầu ra
Đầu ra sau sẽ xuất hiện sau khi thực thi tập lệnh

PHP đếm mảng đa chiều

Phần kết luận

Trong bài viết này, hai cách khác nhau để đếm độ dài của một mảng đã được giải thích bằng cách sử dụng nhiều ví dụ. Giờ đây, người dùng PHP có thể sử dụng hàm count() hoặc hàm sizeof() để đếm độ dài của mảng. Chúng tôi hy vọng bạn thấy bài viết hữu ích và vui lòng xem LinuxHint để biết thêm các bài viết thông tin

Làm cách nào để đếm mảng nhiều chiều trong PHP?

Cú pháp – đếm() . Nếu bạn muốn đếm đệ quy tất cả các phần tử trong một mảng nhiều chiều, hãy chuyển COUNT_RECURSIVE làm đối số thứ hai, như được hiển thị trong mẫu mã sau. count($arr) returns length of array only in the first dimension. If you want to count all elements in a multidimensional array recursively, pass COUNT_RECURSIVE as second argument, as shown in the following code sample.

Làm cách nào để lấy số lượng kích thước mảng trong PHP?

Bạn chỉ cần sử dụng hàm đếm() hoặc sizeof() của PHP để lấy số lượng phần tử hoặc giá trị trong một mảng. Hàm count() và sizeof() trả về 0 cho một biến đã được khởi tạo với một mảng trống, nhưng nó cũng có thể trả về 0 cho một biến không được đặt.

Làm cách nào để đếm mảng trong mảng trong PHP?

Để đếm tất cả các phần tử trong một mảng, PHP cung cấp các hàm count() và sizeof() . Cả hai hàm count() và sizeof() đều được sử dụng để đếm tất cả các phần tử trong một mảng và trả về 0 cho một biến đã được khởi tạo với một mảng trống. Đây là các hàm có sẵn của PHP.

Làm cách nào để đếm giá trị mảng trong PHP?

Hàm array_count_values() đếm tất cả các giá trị của một mảng.