PHP 查看二维数组是否匹配示例数组
PHP see if 2d array matches sample array
我有一个包含姓氏和出生日期组的二维数组。我正在尝试在数组中查找姓氏和出生日期的组合匹配项,但我不太确定该怎么做。
因此,要搜索的数组将如下所示:
Array (
[0] => Array (
[0] => lastName1
[1] => 05/24/1937
)
[1] => Array (
[0] => lastName2
[1] => 06/05/1932
)
[2] => Array (
[0] => lastName3
[1] => 03/04/1926
)
)
我的用户会提供 $lastName
和 $dateOfBirth
的搜索条件
因此,例如,假设我的用户输入 $lastName = "lastName2"
和 $dateOfBirth = "06/05/1932"
我想搜索主数组并查看是否存在完全匹配,如果存在匹配则为 return true,如果存在则为 false没有匹配项。
在这种情况下,它应该 return 为真,因为数组 # 1 与给定的两个搜索条件完全匹配。
到目前为止,我知道如何在数组中一次搜索一个值,但我需要同时搜索两个值,因为可能有多个数组项具有相同的姓氏或出生日期,但匹配在大多数情况下,两者的组合应该只有 return 一个结果(如果有的话)。
只需使用用户提交的数据创建一个数组,然后使用 in_array()
查看该数组是否以该确切形式存在:
$searcher = array(
array( 'surname1', '05/24/1937' ),
array( 'surname2', '06/05/1932' ),
array( 'surname3', '03/04/1926' )
);
$toSearch = array( $lastName, $dateOfBirth );
if( in_array($searcher, $toSearch))
{
echo 'match found'
}
else
{
'nothing found';
}
仅按一项特征搜索 return 所有匹配的记录:
array_filter($arr,function ($item) use ($filter_index,$filter_val) { return $item[$filter_index]==$filter_val; });
搜索完全匹配:
in_array($arr,array($last_name,$date))
我有一个包含姓氏和出生日期组的二维数组。我正在尝试在数组中查找姓氏和出生日期的组合匹配项,但我不太确定该怎么做。
因此,要搜索的数组将如下所示:
Array (
[0] => Array (
[0] => lastName1
[1] => 05/24/1937
)
[1] => Array (
[0] => lastName2
[1] => 06/05/1932
)
[2] => Array (
[0] => lastName3
[1] => 03/04/1926
)
)
我的用户会提供 $lastName
和 $dateOfBirth
的搜索条件
因此,例如,假设我的用户输入 $lastName = "lastName2"
和 $dateOfBirth = "06/05/1932"
我想搜索主数组并查看是否存在完全匹配,如果存在匹配则为 return true,如果存在则为 false没有匹配项。
在这种情况下,它应该 return 为真,因为数组 # 1 与给定的两个搜索条件完全匹配。
到目前为止,我知道如何在数组中一次搜索一个值,但我需要同时搜索两个值,因为可能有多个数组项具有相同的姓氏或出生日期,但匹配在大多数情况下,两者的组合应该只有 return 一个结果(如果有的话)。
只需使用用户提交的数据创建一个数组,然后使用 in_array()
查看该数组是否以该确切形式存在:
$searcher = array(
array( 'surname1', '05/24/1937' ),
array( 'surname2', '06/05/1932' ),
array( 'surname3', '03/04/1926' )
);
$toSearch = array( $lastName, $dateOfBirth );
if( in_array($searcher, $toSearch))
{
echo 'match found'
}
else
{
'nothing found';
}
仅按一项特征搜索 return 所有匹配的记录:
array_filter($arr,function ($item) use ($filter_index,$filter_val) { return $item[$filter_index]==$filter_val; });
搜索完全匹配:
in_array($arr,array($last_name,$date))