我的功能有问题。它可以显示和“自动计数”所有阵列? 我的代码:
$mrJackMaker = 'mrjack';
$aromatyMrJack = array(
'Arbuz' => $mrJackMaker.'1',
'Banan'=> $mrJackMaker.'2',
'Czarna porzeczka'=> $mrJackMaker.'3'
);
foreach($aromatyMrJack as $key => $value)
{
echo $key." ". $value . "<br>";
}
如何编写此代码:
使用自动计数值,1,2,3 ......等请帮助。
答案 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的演示。