如何在PHP

时间:2018-01-19 19:29:35

标签: php

首先 - 对于ansvers来说是thx。

我有2个阵列:

例如:

['a' => abc, 'b' => cde]

第二个

['fcb' => cde, 'avm' => efg]

需要使用'b'和'cde'。

如何获得某种相似性?

2 个答案:

答案 0 :(得分:0)

我可能陷入困境;但是,您可以计算交点(常用值)并循环它们并搜索密钥:

$result = array_intersect($array1, $array2);

foreach($result as $val) {
    echo "$val found in array1 at key: " . array_search($val, $array1)."<br>\n";
    echo "$val found in array2 at key: " . array_search($val, $array2)."<br>\n";
}

请参阅Example

答案 1 :(得分:0)

假设您希望根据您的要求对键和值进行字符串搜索&#39; b&#39;应该在两种情况下都匹配:

$a = ['a' => 'abc', 'b' => 'cde'];
$b = ['fcb' => 'cde', 'avm' => 'efg'];

function search($needle, $haystack)
{
    foreach(array_merge($haystack, array_keys($haystack)) as $value)
    {
        if (strpos($value, $needle) !== FALSE)
        {
            return TRUE;
        }
    }

    return FALSE;
}

echo (int) search('b', $a);
echo (int) search('b', $b);
echo (int) search('z', $a);
echo (int) search('z', $b);
echo (int) search('cde', $a);
echo (int) search('cde', $b);

输出:

110011