PHP 通过值在多维数组中搜索
在这个部分中,我们将学习如何使用值来搜索多维数组。我们将使用PHP来完成这个任务。如果我们不了解PHP中的多维数组,这个示例将非常有用。在下面的示例中,我们将使用值来搜索多维数组的键。如果我们想从一个多维数组中获取值,我们可以通过在数组中搜索键值来轻松实现这一点。
在我们的示例中,我们将使用一个简单的数组来解释这个示例。我们将使用两个数组$students
和$studentsAddress
。在我们的$students
数组中,我们使用了一个foreach循环。在我们的$studentsAddress
数组中,我们也想显示地址。但是我们面临一个问题,因为我们的示例中有一个包含一些记录和第一个数组id的user_id键。为了解决这个问题,我们将使用array_column()函数和array_column函数。
在多维数组中搜索值的简单代码如下所示:
array_search(value['id'], array_column(studentsAddress, 'user_id'))
搜索多维数组中的值的完整示例如下:
示例:
<?php
students = [
[
"id" => "1",
"name" => "John",
"email" => "john@abc.com"
],
[
"id" => "2",
"name" => "Harry",
"email" => "harry@xyz.com"
],
[
"id" => "3",
"name" => "Scarlet",
"email" => "scarlet@abc.com"
],
[
"id" => "4",
"name" => "Jennifer",
"email" => "jennifer@xyz.com"
]
];studentsAddress = [
[
"user_id" => "3",
"address" => "Saket, Delhi, India"
],
[
"user_id" => "1",
"address" => "Akshardham, Delhi, India"
]
];
?>
<h1> Multidimensional Array Search By Value Using PHP </h1>
<table border="1" width="700">
<tr>
<td>ID</td>
<td>Name</td>
<td>Email</td>
<td>Address</td>
</tr>
<?php foreach (students askey => value): ?>
<tr>
<td><?php echovalue['id'] ?></td>
<td><?php echo value['name'] ?></td>
<td><?php echovalue['email'] ?></td>
<td>
<?php
key = array_search(value['id'], array_column(studentsAddress, 'user_id'));
if (!empty(key) || key === 0) {
echostudentsAddress[$key]['address'];
}
?>
</td>
</tr>
<?php endforeach ?>
</table>
现在我们的上面的代码已经准备好了,我们可以运行它。当我们运行它时,将会生成以下输出: