多维数组:如何获取特定键的所有值?

7
我有一个多维数组,其中包含ID和URL。我想只输出URL。
$abstract_details = array(
                        array(
                            'id' => 68769782222,
                            'url' => 'http://yourclick.ch'
                        ),
                        array(
                            'id' => 111,
                            'url' => 'http://google.com'
                        )
                    );

foreach ($abstract_details as $abstract_detail) {
    foreach ($abstract_detail as $get_abstract_detail) {
        $result .= $get_abstract_detail . '<br>';
    }
}

当我运行代码时,我会得到两种信息。如何控制我想要显示的内容?

3
获取URL的方法如下:foreach ($abstract_details as $abstract_detail) { echo $abstract_detail['url'] . '<br>';}。请点击以下链接运行代码:https://eval.in/605347。 - FirstOne
1
请阅读此链接:http://php.net/manual/zh/language.types.array.php#language.types.array.syntax.accessing - sglessard
1
@FirstOne 我甚至不知道为什么我认为它需要复杂化,但这很好用。谢谢 ;) - Reza
3个回答

17

使用array_column函数可以避免使用foreach循环。

$url = array_column($abstract_details, 'url');

echo implode('<br/>', $url); 

1
你可以简单地使用 implode 函数来实现。我非常欣赏使用 array_column 函数。使用 foreach 会破坏前者。 :) - Object Manipulator
1
这是一个很好的函数。谢谢分享! - Reza

2
foreach ($abstract_details as $abstract_detail) {
       $result .= $abstract_detail['url']
    }

2

你不需要嵌套循环,如果只想打印出url。请尝试以下代码:

foreach ($abstract_details as $abstract_detail) {
   $result .= $abstract_detail['url'] . '<br>';
}

输出:

http://yourclick.ch
http://google.com

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接