获取在新数组中排序的数组值,然后与另一个数组进行比较

时间:2015-12-11 18:13:06

标签: php arrays sorting

我有一个数组,想要将它的值排序并修改一个位到另一个数组,所以我可以与另一个数组进行比较

这是我的数组,以

开头
Array ( 
[0] => WP_Term Object ( 
[term_id] => 10 
...
[cat_name] => Klantenartikelen 
[category_nicename] => klantenartikelen 
[category_parent] => 0 ) 

[1] => WP_Term Object ( 
[term_id] => 11 
...
[cat_name] => Overwin je Overgang blog 
[category_nicename] => overwin-je-overgang-blog 
[category_parent] => 10 ) 
)

我想将[cat_name]的值整理到新数组中,从中删除一个字符串(博客),然后将其与另一个数组进行比较,看起来像这样

Array ( 
[1426787445] => Overwin je Overgang
[1426787487] => Overgangstransformatie 
)

第二个数组的问题是每个数组(成员资格密码)的密钥都会更改,但值始终相同。 (如果从这样的数组中获取值太有问题,可以硬编码)

然后在最后我想用比较制作条件逻辑:如果两个数组的值对匹配,则回显图形元素。可能存在这样的情况:一个数组包含2个键/值对,而另一个只有1,但如果其中一个匹配,则需要传递true。

请问,这怎么可以解决?

2 个答案:

答案 0 :(得分:1)

给出以下变量:

achievmentCell

然后你可以这样做:

$data = Array ( 
    (object) Array( 
        "term_id" => 10, 
        "cat_name" => "Klantenartikelen", 
        "category_nicename" => "klantenartikelen", 
        "category_parent" => 0
    ),
    (object) Array( 
        "term_id" => 11, 
        "cat_name" => "Overwin je Overgang blog", 
        "category_nicename" => "overwin-je-overgang-blog", 
        "category_parent" => 10
    )
);

$ref = Array ( 
    1426787445 => "Overwin je Overgang",
    1426787487 => "Overgangstransformatie" 
);

这会产生此输出:

  

发现&Overwin je Overgang'在关键字1426787445

foreach ($data as $obj) { // remove "blog" $catname = str_replace(" blog", "", $obj->cat_name); // find this name in the $ref array $matchKey = array_search($catname, $ref); if ($matchKey !== false) { echo "Found '$catname' at key $matchKey", '<br>'; } } 的位置,您可以输出图像等...

答案 1 :(得分:0)

试试这个

$catname=$array_column($array, "cat_name");

$count=count($catname)

for($i=0; $i<$count; $i++){

   foreach($anotherarray as $key => $value){

     if($catname[$i]==$anotherarray[$key]){
        echo "graphic";         
     }

   }

}

发现任何错误?回帖