Để xử lý việc tìm kiếm một mảng nhiều chiều, bạn có thể sử dụng câu lệnh
$id = "111";
foreach [$users as $k => $v] {
if [$v["uid"] === $id] {
print $users[$k];
}
}
4 hoặc hàm $id = "111";
foreach [$users as $k => $v] {
if [$v["uid"] === $id] {
print $users[$k];
}
}
0Một mảng đa chiều PHP có thể được tìm kiếm để xem nó có giá trị nhất định hay không
Hãy xem một ví dụ về việc thực hiện tìm kiếm. Giả sử bạn có một mảng nhiều chiều với cấu trúc sau
$users = [
[
"uid" => "111",
"name" => "Nathan",
"age" => 29,
],
[
"uid" => "254",
"name" => "Jessie",
"age" => 25,
],
[
"uid" => "305",
"name" => "Michael",
"age" => 30,
],
];
Để tìm kiếm mảng theo giá trị của nó, bạn có thể sử dụng câu lệnh
$id = "111";
foreach [$users as $k => $v] {
if [$v["uid"] === $id] {
print $users[$k];
}
}
4Bạn cần lặp qua mảng và xem liệu một trong các mảng con có giá trị cụ thể không
Ví dụ: giả sử bạn muốn lấy mảng có giá trị
$id = "111";
foreach [$users as $k => $v] {
if [$v["uid"] === $id] {
print $users[$k];
}
}
2 là $id = "111";
foreach [$users as $k => $v] {
if [$v["uid"] === $id] {
print $users[$k];
}
}
3$id = "111";
foreach [$users as $k => $v] {
if [$v["uid"] === $id] {
print $users[$k];
}
}
Lưu ý rằng toán tử so sánh trong đoạn mã trên sử dụng
$id = "111";
foreach [$users as $k => $v] {
if [$v["uid"] === $id] {
print $users[$k];
}
}
4 gấp ba lầnĐiều này có nghĩa là loại giá trị được so sánh phải giống nhau
Đoạn mã trên sẽ tạo ra đầu ra sau
Array
[
[uid] => 111
[name] => Nathan
[age] => 29
]
Trong PHP5. 5 trở lên, bạn cũng có thể sử dụng hàm
$id = "111";
foreach [$users as $k => $v] {
if [$v["uid"] === $id] {
print $users[$k];
}
}
0 kết hợp với hàm $id = "111";
foreach [$users as $k => $v] {
if [$v["uid"] === $id] {
print $users[$k];
}
}
6 để tìm mảng thỏa mãn điều kiệnXem ví dụ bên dưới
$name = "Michael";
$key = array_search[$name, array_column[$users, "name"]];
print_r[$users[$key]];
Đoạn mã trên sẽ tạo ra đầu ra sau
$users = [
[
"uid" => "111",
"name" => "Nathan",
"age" => 29,
],
[
"uid" => "254",
"name" => "Jessie",
"age" => 25,
],
[
"uid" => "305",
"name" => "Michael",
"age" => 30,
],
];
0Hãy tạo một chức năng tùy chỉnh từ mã tìm kiếm để bạn có thể thực hiện tìm kiếm động hơn dựa trên khóa và giá trị
Hàm tùy chỉnh này chấp nhận ba tham số
7 bạn muốn tìm kiếm$id = "111"; foreach [$users as $k => $v] { if [$v["uid"] === $id] { print $users[$k]; } }
8 bạn muốn chìa khóa có$id = "111"; foreach [$users as $k => $v] { if [$v["uid"] === $id] { print $users[$k]; } }
9 bạn muốn tìm kiếm$id = "111"; foreach [$users as $k => $v] { if [$v["uid"] === $id] { print $users[$k]; } }
Chức năng có thể được viết như sau
$users = [
[
"uid" => "111",
"name" => "Nathan",
"age" => 29,
],
[
"uid" => "254",
"name" => "Jessie",
"age" => 25,
],
[
"uid" => "305",
"name" => "Michael",
"age" => 30,
],
];
4Để xử lý trường hợp không tìm thấy giá trị cụ thể, bạn cần thêm điều kiện
Array
[
[uid] => 111
[name] => Nathan
[age] => 29
]
0 vào hàmBạn có thể trả lại
Array
[
[uid] => 111
[name] => Nathan
[age] => 29
]
1 hoặc Array
[
[uid] => 111
[name] => Nathan
[age] => 29
]
2 khi không tìm thấy Array
[
[uid] => 111
[name] => Nathan
[age] => 29
]
3$users = [
[
"uid" => "111",
"name" => "Nathan",
"age" => 29,
],
[
"uid" => "254",
"name" => "Jessie",
"age" => 25,
],
[
"uid" => "305",
"name" => "Michael",
"age" => 30,
],
];
9Bây giờ bạn có thể sử dụng hàm
Array
[
[uid] => 111
[name] => Nathan
[age] => 29
]
4 bất cứ lúc nào bạn cần tìm kiếm một mảng nhiều chiềuDưới đây là một số ví dụ
$id = "111";
foreach [$users as $k => $v] {
if [$v["uid"] === $id] {
print $users[$k];
}
}
1Đoạn mã trên sẽ tạo ra đầu ra sau
$id = "111";
foreach [$users as $k => $v] {
if [$v["uid"] === $id] {
print $users[$k];
}
}
2Bây giờ bạn đã học cách tìm kiếm một mảng nhiều chiều trong PHP
Khi cần tìm một mảng có giá trị cụ thể, bạn chỉ cần gọi hàm
Array
[
[uid] => 111
[name] => Nathan
[age] => 29
]
4 ở trên