繁体   English   中英

PHP-用值数组搜索一个关联数组,然后创建一个具有匹配结果的新数组

[英]PHP - Search one associative array with an array of values, then create a new array with matching results

我有一个关联数组,如下所示:

{
  "organizations":[
    {
      "name":"10sheet",
      "owner_name":"Me"
    },
    {
      "name":"12Gigs",
      "owner_name":"Me"
    },
      "name":"24\/7 Card",
      "owner_name":"Me as well"
    },
}

我想针对以下关联数组中的名称字段使用第一个数组中的名称字段进行搜索:

[{"name": "Wetpaint",
  "permalink": "wetpaint",
  "category_code": "web"},
 {"name": "AdventNet",
  "permalink": "adventnet",
  "category_code": "enterprise"},
 {"name": "Zoho",
  "permalink": "zoho",
  "category_code": "software"},
 {"name": "Digg",
  "permalink": "digg",
  "category_code": "web"},
 {"name": "24/7 Card",
  "permalink": "247-card",
  "category_code": "other"}]

如果存在匹配项,则在永久链接字段中获取值,并将其放入新数组中。 同样,在第一个数组中存在转义问题,例如24/7而不是24/7,并且搜索不应该区分大小写。 我试图用PHP编写此代码,而使用这两个API会使我丧命。

谢谢你的帮助!

格雷格

未经测试,但应该可以工作:

<?php
$result = array();
foreach($obj["organizations"] as $o) {
    foreach($obj2 as $o2) {
        if(stristr($o["name"], $o2["name"])) {
            $result[] = $o2["permalink"];
        }
    }
}
?>

$ obj是您的第一个数组,$ obj2是第二个.. $ result包含匹配项。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM