在PHP中显示数组标识号

时间:2017-04-22 11:56:02

标签: php arrays count

我的功能有问题。它可以显示和“自动计数”所有阵列? 我的代码:

$mrJackMaker = 'mrjack';

$aromatyMrJack = array(
    'Arbuz' => $mrJackMaker.'1',
    'Banan'=> $mrJackMaker.'2',
    'Czarna porzeczka'=> $mrJackMaker.'3'
);

foreach($aromatyMrJack as $key => $value)
{
    echo $key." ". $value . "<br>";
}

如何编写此代码:

  • Arbuz mrjack1
  • Banan mrjack2
  • Czarna porzeczka mrjack3

使用自动计数值,1,2,3 ......等请帮助。

2 个答案:

答案 0 :(得分:1)

这是一个简单的解决方案。

<?php

    $mrJackMaker = 'mrjack-';
    $arr = array(
               'Arbuz' => $mrJackMaker,
               'Banan'=> $mrJackMaker,
               'Czarna porzeczka'=> $mrJackMaker,
               'Czarna '=> $mrJackMaker
            );

    $i = 0;

    foreach($arr as $key => $value)
    {
        $i++;
        echo "Key is: ".$key." value is: ". $value.$i."<br>";
    }

输出是这个链接:

Key is: Arbuz value is: mrjack-1
Key is: Banan value is: mrjack-2
Key is: Czarna porzeczka value is: mrjack-3
Key is: Czarna value is: mrjack-4

希望它符合您的要求!

答案 1 :(得分:0)

实际上通过使用非关联数组,(在foreach中)可以是可以使用的数值(在下面的代码中为$index)可以用来代替递增计数器。

<?php

$suffix = 'mrjack-';
$names = array(
           'Arbuz',
           'Banan',
           'Czarna porzeczka'
        );
$listItems = array();
foreach($names as $index => $name)  {
    $listItems[] = $name.' '.$suffix.($index+1);
}
echo '<ul><li>'.implode('</li><li>', $listItems).'</li></ul>';

查看此here的演示。

可以使用array_map()功能编程方式完成:

<?php

$suffix = 'mrjack-';
$names = array(
           'Arbuz',
           'Banan',
           'Czarna porzeczka'
        );
$listItems = array_map(function($name, $index) {
    return $name.' '.$suffix.($index+1);
}, array_values($names), array_keys($names));
echo '<ul><li>'.implode('</li><li>', $listItems).'</li></ul>';

查看此here的演示。