繁体   English   中英

使用PHP在多维数组Whiteout循环中输出数据

[英]Output datas from a multidimensional array whiteout looping in it with PHP

我有这种类型的数组结构:

$fruits = array(
    array(
        'name'      => 'Banana',
        'continent' => 'Africa', 
        'counts'    => array(
            'standard'  => 15,
            'advanced'  => 20
        )
    ),
    array(
        'name'      => 'Apple',
        'continent' => 'Europa', 
        'counts'    => array(
            'standard'  => 25,
            'advanced'  => 25
        )
    )
);

如何在不循环的情况下(foreach)从该数组输出一个数据?

例如,我想这样写:在Europa ,我可以找到25 standard Apple

所以我尝试了一下,没有任何结果:

<?
    echo 'In ';
    echo $fruits['name']['Banana']=>'continent';
    echo ', I can find ';
    ...
    echo '.'.
?>

通过将嵌套的数组变量包装在大括号中来进行类似尝试{} 在此处查看更多

<?php
$fruits = array(
    array(
        'name'      => 'Banana',
        'continent' => 'Africa', 
        'counts'    => array(
            'standard'  => 15,
            'advanced'  => 20
        )
    ),
    array(
        'name'      => 'Apple',
        'continent' => 'Europa', 
        'counts'    => array(
            'standard'  => 25,
            'advanced'  => 25
        )
    )
);
//In Europa, I can find 25 standard Apple.
$key = array_keys($fruits[1]['counts'])[0];
echo "In {$fruits[1]['continent']}, I can find {$fruits[1]['counts']['standard']} {$key} {$fruits[1]['name']}";
?>

演示: https : //3v4l.org/KoQiO

如果您知道结果数据索引,那么您可以获得没有循环的单个记录的输出。

但是,如果您希望打印整个记录,那么for-each应该是必须的。 以下代码是您当前的记录。

echo 'In ' . $fruits[1]["continent"] . ', I can find ' . $fruits[1]["counts"]["standard"] . ' standard ' . $fruits[1]["name"] . '.';

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM