2015-04-28 26 views
0

兩個不同的多維數組我有兩個陣列我想匹配的第二陣列[Seltemgr]['Name']值,如果['Name']=>value == [Seltemgr]=>value然後<input type="checkbox" checked="checked">否則不加制止,這是可能的,以匹配其元素的不同不與不同的兩個多維數組鍵。如何匹配PHP

Array 
(
[0] => Array 
    (
     [tnid] => 45 
     [Name] => Financial Tips  
     [Email] => Array 
     [Href] => http://amt-ars-d.sevenverbs.com/api/v1/emailtemplategroups/5 
    ) 

[1] => Array 
    (
     [tnid] => 42 
     [Name] => Products    
     [Email] => Array 
     [Href] => http://amt-ars-d.sevenverbs.com/api/v1/emailtemplategroups/2 
    ) 

[2] => Array 
    (
     [tnid] => 44 
     [Name] => Health Tips   
     [Email] => Array 
     [Href] => http://amt-ars-d.sevenverbs.com/api/v1/emailtemplategroups/4 
    ) 

[3] => Array 
    (
     [tnid] => 43 
     [Name] => Personal Events  
     [Email] => Array 
     [Href] => http://amt-ars-d.sevenverbs.com/api/v1/emailtemplategroups/3 
    ) 

[4] => Array 
    (
     [tnid] => 41 
     [Name] => Calendar    
     [Email] => Array 
     [Href] => http://amt-ars-d.sevenverbs.com/api/v1/emailtemplategroups/1 
    ) 

) 

    Array 
    (
[0] => Array 
    (
     [emarketid] => 77 
     [agentid] => 81 
     [customerid] => 16901 
     [Seltemgr] => Calendar           
     [seltemname] => 
    ) 

[1] => Array 
    (
     [emarketid] => 78 
     [agentid] => 81 
     [customerid] => 16901 
     [Seltemgr] => Financial Tips          
     [seltemname] => 
    ) 

[2] => Array 
    (
     [emarketid] => 79 
     [agentid] => 81 
     [customerid] => 16901 
     [Seltemgr] => Merry Christmas         
     [seltemname] => 
    ) 

[3] => Array 
    (
     [emarketid] => 80 
     [agentid] => 81 
     [customerid] => 16901 
     [Seltemgr] => Drip financial tip 3        
     [seltemname] => 
    ) 

) 
+0

你能和他們相匹配嗎?是。只需檢查哪一個鍵被設置,然後檢查該值。但是,匹配後你想做什麼?因爲你沒有說。 –

+1

可能會使用array_intersect()而不是 –

+0

剛剛從去年發現這個答案http://stackoverflow.com/questions/22935689/php-how-to-match-two-multidimensional-array?rq=1 – nickL

回答

0
$match = []; 

foreach ($array1 as $k1=>$a1){ 
     foreach($array2 as $k2=>$a2){ 
       if($a2['Seltemgr'] == $a1['Name']){ 
         $match[] = array($k1,$k2); 
       } 
     } 
} 

所以$匹配包含每個數組的索引,其中,名稱和Seltemgr匹配。不要說這是做到這一點的最佳方式,但相交功能通常需要鍵匹配。