在PHP中从多维数组中获取元素
我想在每个条目数组中提取在PHP中从多维数组中获取元素,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,我想在每个条目数组中提取$t,代码如下 $myarray=Array( [feed] => Array ( [updated] => Array ( [$t] => 2015-07-01T14:35:54.224+03:00 )
$t
,代码如下
$myarray=Array(
[feed] => Array
(
[updated] => Array
(
[$t] => 2015-07-01T14:35:54.224+03:00
)
[entry] => Array
(
[0] => Array
(
[title] => Array
(
[type] => text
[$t] => MAKAMU WA RAIS DKT.
)
)
[1] => Array
(
[title] => Array
(
[type] => text
[$t] => AAGANA NIA, ANAYE WAKE
)
)
)
)
如何在每个条目数组中获取$t。。
我不知道$t的价值,简言之,我正试图通过blogger来废除blog。以$t为单位的值为文章标题。我想得到这样的头衔: MAKAMU WA RAIS DKT.
阿加尼亚,阿纳耶·威克
很抱歉,我没有解释这一点。这可以通过递归实现:
function extractT($arr, &$extracted = array()) {
foreach($arr as $entry) {
if(isset($entry['$t']))
$extracted[] = $entry['$t'];
elseif(is_array($entry))
extractT($entry, $extracted);
}
return $extracted;
}
$ts = extractT($myarray);
$ts
将包含您的所有$t
-条目如果您不知道$t
是什么,并且您所关心的只是像MAKAMU WA RAIS DKT这样的值。
您可以这样找到它(通过数组值
函数始终将子数组中的第二个值从关联转换为数字):
您可以像这样对它们进行循环:
foreach($myarray['feed']['entry'] as $k=>$a){
$v = array_values($a['title']);
$t = $v[1];
}
欢迎来到堆栈溢出!这个问题缺乏信息。你能分享一下你尝试了什么,遇到了什么问题吗?在你解释之后,我更新了我的答案-看看第二部分是否是你想要得到的。我怀疑他是否知道这些值是什么以及它们在数组的哪个级别。如果他知道这一点,他所要做的就是使用例如
$myarray['feed']['entry'][0]['title']['t']
来访问它们,而不是使用array\u search
你将要完全解决它,一个问题是,我如何迭代所有的标题,使$myarray['feed']['entry'][/*是动态的*/['title']['t']例如,可以是0,然后是1,然后是2,以确定这些标题的确切数字。。如果他们是20岁,那么他们都会得到回应。我不知道他们到底有多少人,因为我从不同的博客上获取信息,有些有4个,有些有10个,等等。。。只有那个@MrAfricaPepya好的,检查我编辑的答案-我添加了循环。“$extracted[]”创建了另一个只包含索引和值的数组,如何存储键以便我可以直接访问键值?请更具体一点,我不知道你的意思$extracted[]
不创建新数组,但用于将值推入数组。如果正确,可以修复上面的extract()函数,以便也可以使用数组键。您指的是哪种数组键?请给我举个例子。谢谢,我想我可以用这些结果。。当我打印时($ts);我得到的结果如下所示
foreach($myarray['feed']['entry'] as $k=>$a){
$v = array_values($a['title']);
$t = $v[1];
}