2015-11-01 46 views
-2

定的數組裏面:如何爲條件查找值數組

Array 
(
    [0] => Array 
     (
      [Footer] => Array 
       (
        [id] => 1 
        [field] => about 
        [fvalue] => 
We dream to change our country. nmnmn 



       ) 

     ) 

    [1] => Array 
     (
      [Footer] => Array 
       (
        [id] => 2 
        [field] => contact 
        [fvalue] => 


       <h2>Our Contacts</h2> 

       <address class="margin-bottom-40"> 

        Shekertek, Road: #3 <br> 

        Dhaka, Bangladesh<br> 

        Phone: 01673050495<br> 

        Email: <a href="[email protected]">[email protected]</a><br> 

        Skype: <a href="skype:jegeachi.support">jegeachi.support</a> 

       </address> 





       ) 

     ) 

) 

這裏是兩個元素。元素可能是10或更多。我想爲'field'索引的給定值獲取此數組中'fvalue'索引的值。例如,如果我對這個數組給予'關於',它會給我'我們夢想改變我們的國家。 nmnmn'我該怎麼做。

+0

你嘗試過什麼?像「foreach」循環? –

回答

1

我對你有兩種選擇:

$searchField = 'about'; 
$key = array_search($searchField, array_column(array_column($arr, 'Footer'), 'field')); 
echo $arr[$key]['Footer']['fvalue']; 

OR

$searchField = 'about'; 
$result = array_filter(array_column($arr, 'Footer'), function($arr) use($searchField){return $arr['field'] == $searchField;}); 
echo $result[0]['fvalue']; 
0

你可以使用簡單的foreach循環實現同樣的事情,將它包含在函數中並在你想要的任何地方使用。

foreach ($yourArray as => $value) { 
    if($value['footer']['field'] == 'about'){ 
     echo $value['footer']['fvalue']; 
    } 
} 

函數中,你可以做

function getFvalue($yourArray,$fvalue){ 
    foreach ($yourArray as $value) { 
     if($value['footer']['field'] == $fvalue){ 
      return $value['footer']['fvalue']; 
     } 
    } 
} 

希望這會幫助你。