Php 在数组中搜索特定字符串
我试图从数组中输出一个特定的值,但是每次运行数组时,该值都位于不同的位置,如下所示: 在一页上:Php 在数组中搜索特定字符串,php,arrays,search,Php,Arrays,Search,我试图从数组中输出一个特定的值,但是每次运行数组时,该值都位于不同的位置,如下所示: 在一页上: Array ( [id] => 12445 [countries] => Array ( [0] => Array ( [iso_3166_1] => GB [certification] => 12A
Array
(
[id] => 12445
[countries] => Array
(
[0] => Array
(
[iso_3166_1] => GB
[certification] => 12A
[release_date] => 2011-07-07
)
[1] => Array
(
[iso_3166_1] => US
[certification] => PG-13
[release_date] => 2011-07-15
)
[2] => Array
(
[iso_3166_1] => DE
[certification] => 12
[release_date] => 2011-07-12
)
}
另一页:
Array
(
[id] => 673
[countries] => Array
(
[0] => Array
(
[iso_3166_1] => US
[certification] => PG
[release_date] => 2004-06-04
)
[1] => Array
(
[iso_3166_1] => GB
[certification] => PG
[release_date] => 2004-05-31
)
[2] => Array
(
[iso_3166_1] => IT
[certification] => T
[release_date] => 2004-06-04
)
}
如您所见,一个页面上的“GB”字符串位于数组中的位置0,而另一个页面上的“GB”字符串位于位置1。现在,这段代码部署到的页面是动态的,所以我不能只是硬编码$array['countries'][0]['release\u date']
,其中'release\u date'是我想从数组中提取的实际值,所以我想我需要代码在数组中搜索'GB'(或'US',或任何需要返回的国家),找到包含字符串的索引号,并将其作为$uk\u release\u date或某个命名变量动态地放入查询中
提前谢谢 嗨,亚历克斯,看看这个话题:谢谢,这是我尝试的第一个解决方案,它工作得非常好!
$index = -1;
foreach($array['countries'] as $k=>$v) {
if(array_search('GB', $v)) { // Search for GB
$index = $k;
break;
}
}
echo $array['countries'][$index]['release_date']; // This will be the release date for GB