php - 检查数组 1 的值是否存在于数组 2 的键中 - PHP
问题描述
我有两个数组:
$arr1 = Array
(
[0] => Apple
[1] => Ball
[2] => whale
[3] => Dog
[4] => cat
)
和
$arr2 = Illuminate\Support\Collection Object
(
[items:protected] => Array
(
[Red apple] => 27
[tball] => 28
[cat] => 29
[Dog] => 30
[blue ball] => 31
)
]
)
在这里,我想检查第一个数组的值是否与('% like %')
第二个数组的任何键匹配。我想就这个例子来解释一下。
$arr1
在这里,您可以看到is的第一个值Apple
,现在您可以Red apple
在 arr2 上看到。这意味着这应该被视为匹配。但是,Ball
不应该匹配,tball
而是Ball
应该匹配到blue ball
。
如果确实找到匹配项,那么我希望将值存储在$result
数组中,如果没有匹配的值,则$result
数组的特定索引必须为空。在这种情况下,我想要确切的结果:
$result= Array
(
[0] => 27
[1] => 31
[2] =>
[3] => 30
[4] => 29
)
解决方案
你好,试试常规的 exp 试试这个
$arr1 = Array('Apple', 'Ball', 'whale', 'Dog', 'cat');
$arr2=Array('Red apple' => 27, 'tball' => 28, 'cat' => 29, 'Dog' => 30, 'blue ball' => 31);
$array=array();
foreach ($arr1 as $arr) {
$flag=false;
foreach ($arr2 as $a=>$ar) {
$search = '\b( ?'.$arr.')';
if(preg_match("/{$search}/i", $a)) {
array_push($array,$ar);
$flag=true;
}
}
if (!$flag) {
array_push($array,'');
}
}
var_dump($array); die;
推荐阅读
- python-3.x - SVM 文本分类的概率结果不佳
- php - Symonfy2,Doctrine:重复、默认或忽略 DiscriminatorMap?
- python - 在 Python 中使用 ChromeDriver (Selenium) 通过 CSS 选择器查找元素
- .net - 实现接口的麻烦
- c# - Rx.NET:按顺序组合可观察对象
- ios - 多类可重复使用的笔尖
- tableau-api - 在一个参数问题上过滤具有不同日期的多个视图
- python - Flask 工厂模式和 Flask CLI 命令
- swift - 如何使用 AlamoFire 搜索 JSON API 和解码数组
- javascript - 在 Ajax 响应中加载 HTML