gpt4 book ai didi

php - 精确匹配 PHP 数组的键

转载 作者:行者123 更新时间:2023-12-05 03:14:22 25 4
gpt4 key购买 nike

我有一个数组形式的搜索查询,如下所示:

$searcharray = array('blue'  => 1, 'red'  => 2);

我编写的代码返回多个结果数组,所有结果数组都具有搜索数组键值对。一些结果还有一些额外的键值对:

$resultsarray1 = array('blue' => 1, 'red'  => 2, 'yellow' => 7);
$resultsarray2 = array('green' => 5, 'blue' => 1, 'red' => 2, 'yellow' => 7, 'cyan' => 8);
$resultsarray3 = array('blue' => 1, 'red' => 2, 'yellow' => 7, 'cyan' => 8);
$resultsarray4 = array('blue' => 1, 'red' => 2);
$resultsarray5 = array('red' => 2, 'blue' => 1);
$resultsarray6 = array('blue' => 1, 'red' => 2, 'cyan' => 8);

我想编写一个函数,将这些结果数组与搜索数组进行比较,并只返回与搜索数组中的键完全匹配的数组。也就是说,对于上面的示例,该函数应返回 $resultarray4 和 $resultarray5 与搜索数组匹配。键的顺序并不重要。

我尝试了 php 相交数组函数的各种组合,但没有产生所需的结果。

最佳答案

你可能不知道,但你可以简单地使用 == 进行数组比较

if($array1==$array2)
{
//same key value pairs
}

Fiddle

var_dump($searcharray==$resultsarray1);
var_dump($searcharray==$resultsarray2);
var_dump($searcharray==$resultsarray3);
var_dump($searcharray==$resultsarray4);
var_dump($searcharray==$resultsarray5);
var_dump($searcharray==$resultsarray6);

输出

bool(false)
bool(false)
bool(false)
bool(true) //4
bool(true) //5
bool(false)

有趣的是

如果你想更加严格并且要求即使键的顺序相同也应该返回 true 那么你可以简单地使用 ===

Fiddle

关于php - 精确匹配 PHP 数组的键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25521239/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com