给定数组:
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="jegeachi24@gmail.com">jegeachi24@gmail.com</a><br>
Skype: <a href="skype:jegeachi.support">jegeachi.support</a>
</address>
)
)
)
这里有两个要素。元素可以是10或更多。我希望在给定的'field'索引值的数组中得到'fvalue'索引的值。例如,如果我对这个数组给出'约',它会给我'我们梦想改变我们的国家。 nmnmn'我怎么能这样做。
答案 0 :(得分: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'];
答案 1 :(得分: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'];
}
}
}
希望这会对你有所帮助。