HomeLập trìnhPhpHướng dẫn về...

Hướng dẫn về độ dài mảng PHP – Cách lấy kích thước mảng


Mảng là một kiểu dữ liệu mạnh mẽ trong PHP. Và biết cách nhanh chóng xác định kích thước của một mảng là một kỹ năng hữu ích.

Trong bài viết này, tôi sẽ cung cấp cho bạn tổng quan nhanh về cách thức hoạt động của mảng và sau đó tôi sẽ đi sâu vào cách lấy kích thước của mảng PHP.

Nếu bạn đã biết mảng là gì, bạn có thể chuyển thẳng tới phần Làm cách nào để có được kích thước Mảng? tiết diện.

Mảng trong PHP là gì?

Trước khi đi sâu vào việc lấy kích thước mảng, chúng ta cần đảm bảo rằng mình hiểu mảng là gì. Mảng trong PHP là một loại biến cho phép bạn lưu trữ nhiều hơn một phần dữ liệu.

Ví dụ: nếu bạn đang lưu trữ một chuỗi đơn giản, bạn sẽ sử dụng kiểu chuỗi PHP:

$heading = 'PHP Array Length Tutorial';

Tuy nhiên, nếu bạn muốn lưu trữ thêm một vài phần dữ liệu riêng biệt, bạn có thể cân nhắc sử dụng một vài biến chuỗi.

$heading = 'PHP Array Length Tutorial';
$subheading = 'How to get an array size';
$author="Jonathan Bossenger"

Điều đó tốt và tốt, nhưng nếu bạn cần lưu trữ nhiều dữ liệu hơn và nhanh chóng nhớ lại bất kỳ mục nào trong số đó ở đâu đó trong mã của mình thì sao? Đó là nơi một mảng có ích. Bạn vẫn có thể lưu trữ các phần dữ liệu riêng lẻ nhưng sử dụng một biến duy nhất.

$post_data = array(
    'PHP Array Length Tutorial',
    'How to get an array size',
    'Jonathan Bossenger'
);

Mỗi mục trong mảng đó có thể được tham chiếu bằng phím số của nó. Vì vậy, thay vì cần gọi lại các biến đơn lẻ, bạn có thể tham chiếu một mục mảng đơn lẻ bằng phím số của nó.

Đọc thêm  Kết nối Php Symfony 5/postgreSQL 13
echo $post_data[0];
Trong PHP, các khóa Mảng bắt đầu từ 0

Để kiểm soát nhiều hơn, các mảng cũng cho phép bạn xác định các khóa mảng của riêng mình, sử dụng một chuỗi.

$post_data = array(
    'heading' => 'PHP Array Length Tutorial',
    'subheading' => 'How to get an array size',
    'author' => 'Jonathan Bossenger'
);

Điều này cho phép bạn cũng tham chiếu mục mảng bằng khóa chuỗi của nó.

echo $post_data['heading'];

Bạn cũng có thể xác định mảng bằng cách sử dụng ký hiệu mảng ngắn mới, tương tự như JavaScript:

$post_data = [
    'heading' => 'PHP Array Length Tutorial',
    'subheading' => 'How to get an array size',
    'author' => 'Jonathan Bossenger'
];

Mảng cũng có thể được lồng vào nhau, tạo thành các biến mảng phức tạp hơn:

$post_data = [
    'heading' => 'PHP Array Length Tutorial',
    'subheading' => 'How to get an array size',
    'author' => [
        'name' => 'Jonathan Bossenger',
        'twitter' => 'jon_bossenger',
    ]
];

Và, bạn có thể gọi lại một giá trị mảng cụ thể bằng cách sử dụng khóa lồng nhau của nó:

echo $post_data['author']['name'];

Tuy nhiên, nếu bạn thấy mình thường xuyên làm việc này, bạn có thể cân nhắc sử dụng đối tượng thay vì mảng.

Mảng rất hữu ích nếu bạn cần nhanh chóng thu thập và sau đó sử dụng các phần dữ liệu có liên quan khác nhau trong một hàm hoặc chuyển dữ liệu đó sang một hàm khác.

Bằng cách đặt những phần dữ liệu này vào một mảng, bạn có ít biến được xác định hơn và điều này có thể giúp mã của bạn dễ đọc và dễ hiểu hơn sau này. Việc chuyển một biến mảng đơn lẻ sang một hàm khác cũng dễ dàng hơn nhiều so với việc chuyển nhiều chuỗi.

$post_data = [
    'heading' => 'PHP Array Length Tutorial',
    'subheading' => 'How to get an array size',
    'author' => [
        'name' => 'Jonathan Bossenger',
        'twitter' => 'jon_bossenger',
    ]
];

$filtered_post_data = filter_post_data($post_data)

Cách lấy kích thước của một mảng trong PHP

Thông thường khi chúng ta nói về kích thước của một mảng, chúng ta đang nói về việc có bao nhiêu phần tử tồn tại trong mảng đó. Có hai cách phổ biến để lấy kích thước của một mảng.

Đọc thêm  Mảng PHP – Cách sử dụng mảng trong các dự án PHP của bạn

Cách phổ biến nhất là sử dụng hàm đếm() trong PHP. Như tên chức năng nói, count() sẽ trả về số lượng các phần tử của một mảng. Nhưng cách chúng ta sử dụng count() chức năng phụ thuộc vào cấu trúc mảng.

Hãy xem xét hai mảng ví dụ mà chúng tôi đã xác định trước đó.

$post_data = array(
	'heading' => 'PHP Array Length Tutorial',
	'subheading' => 'How to get an array size',
	'author' => 'Jonathan Bossenger'
);

echo count($post_data);

Trong ví dụ này, count($post_data) sẽ cho kết quả là 3. Điều này là do có 3 phần tử trong mảng đó: ‘tiêu đề’, ‘tiêu đề phụ’ và ‘tác giả’. Nhưng còn ví dụ về mảng lồng nhau thứ hai thì sao?

$post_data = [
	'heading' => 'PHP Array Length Tutorial',
	'subheading' => 'How to get an array size',
	'author' => [
		'name' => 'Jonathan Bossenger',
		'twitter' => 'jon_bossenger',
	]
];
echo count($post_data);

Tin hay không, trong ví dụ này, count($post_data) cũng sẽ trả về 3. Điều này là do theo mặc định, count() hàm chỉ đếm các phần tử mảng cấp cao nhất.

Nếu bạn xem định nghĩa hàm, bạn sẽ thấy rằng nó chấp nhận hai đối số – mảng cần đếm và một mode số nguyên. Giá trị mặc định cho chế độ đó là hằng số được xác định trước COUNT_NORMALbáo cho hàm chỉ đếm các phần tử mảng cấp cao nhất.

Nếu chúng ta vượt qua hằng số được xác định trước COUNT_RECURSIVE thay vào đó, nó sẽ chạy qua tất cả các cấp độ lồng nhau và thay vào đó sẽ tính các cấp độ đó.

$post_data = [
	'heading' => 'PHP Array Length Tutorial',
	'subheading' => 'How to get an array size',
	'author' => [
		'name' => 'Jonathan Bossenger',
		'twitter' => 'jon_bossenger',
	]
];
echo count($post_data, COUNT_RECURSIVE);

Bây giờ, kết quả của count($post_data, COUNT_RECURSIVE) sẽ, như mong đợi, 5.

Đọc thêm  Tại sao Laravel là Framework PHP tốt nhất để sử dụng vào năm 2020

“Nhưng đợi đã!”, Tôi nghe thấy bạn khóc. “bạn đã đề cập có một cách khác?”.

Vâng, chức năng khác mà bạn có thể sử dụng là sizeof(). Tuy nhiên, sizeof() chỉ là bí danh của count()và nhiều người cho rằng (đúng như vậy) rằng sizeof() sẽ trả về việc sử dụng bộ nhớ của một mảng.

Vì vậy, tốt hơn là nên gắn bó với count()cái tên phù hợp hơn nhiều cho công việc bạn đang làm – đếm các phần tử trong một mảng.

Cảm ơn vì đã đọc! Tôi hy vọng bây giờ bạn đã hiểu rõ hơn về cách tìm kích thước của một mảng trong PHP.



Zik.vn – Biên dịch & Biên soạn Lại

spot_img

Create a website from scratch

Just drag and drop elements in a page to get started with Newspaper Theme.

Buy Now ⟶

Bài viết liên quang

DMCA.com Protection Status