我在显示数组中的数据时遇到问题,如何从波纹管数组中检索数据?
Array
(
[downloads] => Array
(
[0] => Array
(
[url] => http://samplelink.com
[release_notes] => Array
(
[0] => lorem ispum
[1] => lorem ispum.
[2] => lorem ispum.
)
)
[1] => Array
(
[url] => http://samplelink.com
[release_notes] => Array
(
[0] => lorem ispum.
[1] => lorem ispum.
[2] => lorem ispum.
[3] => lorem ispum.
[4] => lorem ispum.
)
)
)
[result_code] => OK
)
我已经尝试过了,但是没有给出确切的答案,我该如何放置序列号。在每个数据的结果数据中?
foreach ($data as $innerArray) {
if (is_array($innerArray)){
foreach ($innerArray as $value) {
echo '<p>'.$value['url'].'</p>';
echo '<p>'.$value['release_notes'].'</p>';
}
}
}
答案 0 :(得分:1)
您可以尝试
foreach ($data['downloads'] as $downloads) {
echo '<p>'.$downloads['url'].'</p>';
if (is_array($downloads['release_notes'])) {
foreach ($downloads['release_notes'] as $release_note) {
echo '<p>'.$release_note.'</p>';
}
}
}
答案 1 :(得分:1)
这有点粗糙,但希望能有所帮助。我在Google中找到了这个简洁的工具,您可以复制/粘贴下面的代码以查看其工作原理。 http://phptester.net/
$parentArray = [
'downloads' => [
[
'url' => 'http://www.google.com/',
'release_notes' => [
'lorem ipsum',
'lorem ipsum',
'lorem ipsum'
]
],
[
'url' => 'http://www.google.com/',
'release_notes' => [
'lorem ipsum',
'lorem ipsum',
'lorem ipsum'
]
]
],
'result_code' => 'OK'
];
// Loop Through Downloads
foreach($parentArray['downloads'] as $download) {
// Parse Through Single Download
foreach($download as $key => $item) {
echo $key . ': ';
if(is_array($item)) {
echo '<br />';
echo '<ul>';
foreach($item as $key => $item) {
echo '<li>' . $item . '</li>';
}
echo '</ul>';
}
else {
echo $item;
}
}
echo '<hr />';
}
它输出以下内容:
答案 2 :(得分:1)
如果您的数组可以具有多于或少于3个级别的数组(未定义的3个级别),则需要使用递归。
function RecurSearch($MyArray)
{
foreach ($MyArray AS $key => $SubElement)
{
if ($key === "url")
{
echo "<p>" . $SubElement . "</p>";
}
else if ($key === "release_notes")
{
foreach($SubElement AS $ReleaseNote)
{
echo "<p>" . $ReleaseNote . "</p>";
}
}
else if (is_array($SubElement))
{
RecurSearch($SubElement);
}
}
}
输出:
lorem ipsum
lorem ipsum。
lorem ipsum。
lorem ipsum。
lorem ipsum。
lorem ipsum。
lorem ipsum。
lorem ipsum。