Mảng kết hợp trong PHP rất linh hoạt theo nghĩa là chúng có thể lưu trữ các loại dữ liệu hỗn hợp dưới dạng khóa và giá trị. Bây giờ nếu chúng ta phải lọc ra các khóa hoặc giá trị dựa trên kiểu dữ liệu của chúng, chúng ta phải tìm kiếm trong mảng để lọc nó. Trong bài viết này, chúng ta sẽ thấy một số tùy chọn để tìm kiếm các số nguyên trong mảng kết hợp PHP
Vì vậy, hãy đi thẳng vào chủ đề
Mục lục
Tùy chọn #1 – Tìm kiếm số nguyên trong mảng kết hợp bằng vòng lặp foreach
Sử dụng vòng lặp foreach là điều đầu tiên bạn nghĩ đến khi chúng ta có một mảng để lặp qua. Ở đây chúng ta sẽ xem cách sử dụng vòng lặp foreach để tìm kiếm các khóa và giá trị số nguyên
Tìm kiếm các giá trị nguyên trong mảng kết hợp bằng vòng lặp foreach
Trong ví dụ này, chúng tôi sẽ sử dụng vòng lặp foreach để lặp qua một mảng và lọc ra các giá trị số nguyên
Hàm gettype trong PHP trả về kiểu dữ liệu của giá trị và nếu nó là số nguyên thì chúng ta chuyển nó vào mảng đã lọc. Cuối cùng, chúng tôi in mảng cuối cùng và nhận các giá trị số nguyên cùng với các khóa ban đầu của chúng
Tìm kiếm các giá trị chính trong mảng kết hợp bằng vòng lặp foreach
Bây giờ, chúng ta có thể lọc ra mảng dựa trên kiểu dữ liệu của các giá trị chính. Hãy xem một mảng với các giá trị chính của các kiểu dữ liệu hỗn hợp
Với một chút thay đổi, mã lọc ra khóa số nguyên trong một mảng. Tuyệt vời. Hãy xem một phương pháp tìm kiếm số nguyên rất phức tạp khác trong mảng kết hợp
Tùy chọn #2 – Tìm kiếm số nguyên trong mảng kết hợp bằng cách sử dụng array_filter
Hàm array_filter trong PHP nhận một hàm gọi lại và dựa trên giá trị trả về, nó lọc ra một mảng. Chúng tôi sẽ sử dụng array_filter để tìm kiếm số nguyên trong một mảng kết hợp. Nhưng trước đó, hãy xem giải phẫu của chức năng này
Sự miêu tả
Lọc các phần tử mảng bằng hàm gọi lại
Chữ ký chức năng
array_filter[array $array, ?
callable
$callback = null, int $mode = 0]: array
Tranh luận
- $array – Mảng để lọc
- $callback – Hàm do người dùng định nghĩa
- $mode – Cờ xác định tham số của hàm gọi lại
Ghi chú
$mode chấp nhận các giá trị cờ sau.
- ARRAY_FILTER_USE_KEY – chuyển khóa làm đối số duy nhất để gọi lại thay vì giá trị
- ARRAY_FILTER_USE_BOTH – chuyển cả giá trị và khóa làm đối số để gọi lại thay vì giá trị
Theo mặc định, hàm chỉ chuyển các giá trị chính cho hàm gọi lại
Loại trả lại
Hàm trả về một mảng đã lọc
Tìm kiếm các giá trị số nguyên trong mảng kết hợp sử dụng array_filter
Chúng tôi sẽ xác định một chức năng gọi lại có tên, isInt
. Hàm nhận giá trị và trả về true nếu kiểu là số nguyên. Do đó, các giá trị nguyên được lọc ra mảng đầu ra
khá gọn gàng. Hàm do người dùng xác định xác định các giá trị số nguyên và lọc chúng thành một mảng đầu ra
Tìm kiếm các khóa số nguyên trong mảng kết hợp bằng array_filter
Bây giờ, hãy tìm các khóa số nguyên bằng cách sử dụng array_filter. Chúng tôi sẽ chuyển ARRAY_FILTER_USE_KEY làm đối số hàm $mode. Với thay đổi này, hàm sẽ chuyển các khóa cho hàm gọi lại thay vì các giá trị
Thấy không, tiện lợi làm sao. Chức năng này là một lớp lót hoàn thành các hoạt động lọc một cách hiệu quả.
Phần kết luận
Chúng ta đã thấy một số tùy chọn để tìm kiếm số nguyên trong mảng kết hợp trong PHP. Tùy chọn đầu tiên bao gồm vòng lặp foreach trong khi tùy chọn thứ hai sử dụng cách tiếp cận array_filter phức tạp hơn. Vì vậy, chúng tôi hy vọng bạn đã học được điều gì đó mới hôm nay. Đến đây là hết bài viết. Hãy theo dõi các bài viết thú vị hơn về PHP
Bạn muốn khám phá thêm các bài hướng dẫn PHP hữu ích?
Chúng tôi có nhiều bài viết thú vị liên quan đến PHP. Bạn có thể khám phá những điều này để tìm hiểu thêm về PHP
Cách sắp xếp một mảng kết hợp trong PHP
Tuần tự hóa PHP so với json_encode
Cách lấy đầu vào biểu mẫu và đặt chúng vào một mảng kết hợp PHP
Bài viết liên quan
- ← Sự khác nhau giữa vòng lặp while và do while trong PHP
- Cách sắp xếp mảng kết hợp trong PHP →
Viết mã tốt hơn nhanh hơn
Nhấp vào đây để nhận các bí mật hàng đầu 'Trở thành Rockstar PHP Dev trong 7 ngày' của chúng tôi được gửi đến hộp thư đến của bạn
đăng ký
Stephen Phép Lạ
Chào. Tôi hy vọng bạn thích bài viết này. Tôi đã phát triển các trang web và phần mềm một cách chuyên nghiệp trong hơn 20 năm. Tôi bắt đầu FuelingPHP như một cách để đền đáp lại cộng đồng nguồn mở đã giúp tôi có thể sống thoải mái khi xây dựng những thứ tôi yêu thích