php 如何在关联数组中回显数组中的名字

xn1cxnb4  于 12个月前  发布在  PHP
关注(0)|答案(4)|浏览(171)
<?php 

        $players = [
            
            [
                'name' => 'ronaldo',
                'quality' => 'best plaeyr'
            ],

            [
                'name' => 'scholes',
                'quality' => 'respected'
            ],

            [
                'name' => 'mbaape',
                'quality' => 'fastest'
            ]
        ];
    ?>

字符串
这是我的$players数组,这是我打印出名字列表的方法。

<?php foreach ($players as $player) : ?>
    <li> <?= $player['name']?> </li>
<?php endforeach ?>


这很好,但是我如何像列表中的第一个名字一样回显出来,特别是像ronaldo,而不是像上面循环中的所有名字。
试过这个

<?php foreach ($players as $player) : ?>
      
    <?php 
    
    if($players[0])
    {
        echo $player['name'];  
    }; 
    
    ?>


但这只是打印出所有3个名字,而不仅仅是第一个,我需要iidoex 1 m1n1x。

vxbzzdmp

vxbzzdmp1#

有几种方法可以做到这一点:

  • 第一次运行后停止循环。
  • 直接打印名字而不使用循环。
  • 考虑使用nice_dev建议的reset函数。
    停止循环
foreach ($players as $player)
{
    echo $player['name'];
    break;
}

字符串

直接打印名字

echo $players[0]['name'];

zpgglvta

zpgglvta2#

你可以使用reset来实现,它也适用于关联数组。

<?php

echo reset($players)['name'];

字符串
Live Demo

nfzehxib

nfzehxib3#

你可以使用for循环和索引:

for ($index = 0; $index < count($players); $index++) {
    if ($index === 0) echo $players[$index]["name"];
}

字符串
如果你只需要第一个元素,那么你根本不需要循环,你只需要引用第0个元素的名字就可以了,比如$players[0]["name"]。但是要知道,对于实际需要循环的情况,有一种方法可以有条件地在循环中做一些事情,比如回显成对的索引元素等等。

y3bcpkx1

y3bcpkx14#

你可以不使用循环,而只检查$players是否确实是一个数组,是否有元素,在这种情况下,你可以回显第0个元素的名称。

<?php if( is_array( $players ) && 0 < count( $players ) ) { echo $players[0]['name']; }

字符串

相关问题