Array Key trong PHP - Hướng dẫn cách sử dụng Array key
27/11/2023 01:45
Hàm PHP array_keys() chấp nhận một mảng và trả về tất cả các khóa hoặc một tập hợp con các khóa của mảng.
Giới thiệu về hàm array_keys trong PHP
Hàm PHP array_keys() chấp nhận một mảng và trả về tất cả các khóa hoặc một tập hợp con các khóa của mảng.
array_keys ( array $array , mixed $search_value , bool $strict = false ) : array
Ngôn ngữ mã: PHP (php)
Trong cú pháp này:
$array
là mảng đầu vào.$search_value
chỉ định giá trị của các khóa cần tìm kiếm.$strict
nếu được đặt thànhtrue
, hàmarray_keys()
sử dụng toán tử giống hệt (===) để khớp giá trị tìm kiếm với các khóa mảng. Nếu không, hàm sẽ sử dụng toán tử bằng nhau (==) để khớp.
Hàm array_keys()
trả về một mảng chứa tất cả các khóa trong mảng đầu vào.
Ví dụ về hàm array_keys() trong PHP
Hãy lấy một số ví dụ về cách sử dụng hàm array_keys()
.
1) Sử dụng ví dụ về hàm array_keys()
Ví dụ sau đây cho thấy cách lấy tất cả các khóa của một mảng được lập chỉ mục:
<?php
$numbers = [10, 20, 30];
$keys = array_keys($numbers);
print_r($keys);
Ngôn ngữ mã: HTML, XML (xml)
Đầu ra:
Array
(
[0] => 0
[1] => 1
[2] => 2
)
Ngôn ngữ mã: PHP (php)
Làm thế nào nó hoạt động.
- Đầu tiên, xác định một mảng chứa ba số.
- Thứ hai, sử dụng hàm
array_keys()
để lấy tất cả các khóa của mảng$numbers
. - Thứ ba, hiển thị các phím.
Vì $numbers
là một mảng được lập chỉ mục nên hàm array_keys()
trả về các phím số của mảng.
Ví dụ sau sử dụng hàm array_keys()
để lấy các khóa của toàn bộ mảng có giá trị là 20:
<?php
$numbers = [10, 20, 30];
$keys = array_keys($numbers, 20);
print_r($keys);
Ngôn ngữ mã: HTML, XML (xml)
Đầu ra:
Array
(
[0] => 1
)
Ngôn ngữ mã: PHP (php)
Hàm array_keys()
trả về khóa 1 vì khóa 1 chứa giá trị 20.
2) Sử dụng hàm array_keys() của PHP với ví dụ về mảng kết hợp
Ví dụ sau minh họa cách sử dụng hàm array_keys()
với mảng kết hợp:
<?php
$user = [
'username' => 'admin',
'email' => 'admin@phptutorial.net',
'is_active' => '1'
];
$properties = array_keys($user);
print_r($properties);
Ngôn ngữ mã: HTML, XML (xml)
Đầu ra:
Array
(
[0] => username
[1] => email
[2] => is_active
)
Ngôn ngữ mã: PHP (php)
Làm thế nào nó hoạt động.
- Đầu tiên, xác định một mảng kết hợp
$user
chứa ba khóausername
,email
và < a i=4>.is_active
- Thứ hai, lấy khóa của mảng
$user
bằng hàmarray_keys()
. - Thứ ba, hiển thị các phím được trả về.
Ví dụ sau sử dụng hàm array_keys()
để lấy các khóa có giá trị bằng 1:
$user = [
'username' => 'admin',
'email' => 'admin@phptutorial.net',
'is_active' => '1'
];
$properties = array_keys($user, 1);
print_r($properties);
Ngôn ngữ mã: PHP (php)
Đầu ra:
Array
(
[0] => is_active
)
Ngôn ngữ mã: PHP (php)
Hàm array_keys()
trả về một khóa, đó là is_active
. Tuy nhiên, is_active
chứa chuỗi '1'
chứ không phải số 1
. Điều này là do array_keys()
sử dụng toán tử đẳng thức (==) để so sánh trong tìm kiếm theo mặc định.
Để kích hoạt so sánh đẳng thức nghiêm ngặt (===) khi tìm kiếm, bạn chuyển true
làm đối số thứ ba của hàm array_keys()
như thế này:< /span>
<?php
$user = [
'username' => 'admin',
'email' => 'admin@phptutorial.net',
'is_active' => '1'
];
$properties = array_keys($user, 1, true);
print_r($properties);
Ngôn ngữ mã: HTML, XML (xml)
Đầu ra:
Array
(
)
Ngôn ngữ mã: JavaScript (javascript)
Bây giờ, hàm array_keys()
trả về một mảng trống.
Tìm các khóa mảng vượt qua bài kiểm tra
Hàm sau trả về các khóa của một mảng vượt qua bài kiểm tra được chỉ định một cuộc gọi lại:
<?php
function array_keys_by(array $array, callable $callback): array
{
$keys = [];
foreach ($array as $key => $value) {
if ($callback($key)) {
$keys[] = $key;
}
}
return $keys;
}
Ngôn ngữ mã: HTML, XML (xml)
Ví dụ sau sử dụng hàm array_keys_by() ở trên để tìm các khóa chứa chuỗi '_post'
:
<?php
$permissions = [
'edit_post' => 1,
'delete_post' => 2,
'publish_post' => 3,
'approve' => 4,
];
$keys = array_keys_by($permissions, function ($permission) {
return strpos($permission, 'post');
});
print_r($keys);