我有一个带有一些值的数组,想要做这样的事情:
$arrayvalues = array_reverse(explode(', ', somefunction()));
foreach ( $arrayvalues as $arrayvalue ) :
printf('<li class="'.$countvalue.'">'.$arrayvalue.'</li>');
endforeach;
我想在$ countvalue中得到数组中值的数量
即......数组将是这样的:(“apple”,“orange”,“grapefruit”)
我希望数字与这些值的订单号相匹配 apple = 1,orange = 2,grapefruit = 3
或者实际上,即使它只是一个增量数字,根据回显的值无关紧要,我只需要插入一个由增量数字表示的css类
我试过玩$ i ...算......但我不知道如何实现我想要的东西;我更像是设计师而不是编码员,我查看了PHP帮助,但找不到明确的解决方案
谢谢
答案 0 :(得分:4)
您已根据订单获得增量编号。请注意,这只适用于您的密钥是基于0的情况。如果您使用关联数组,则需要使用for
循环(如nickb所示)。
$arrayvalues = array_reverse(explode(', ', somefunction()));
foreach ( $arrayvalues as $key => $arrayvalue ){
echo "<li class='$key'>$arrayvalue</li>";
}
答案 1 :(得分:1)
$arrayvalues = array_reverse(explode(', ', somefunction()));
$i = 0;
foreach ( $arrayvalues as $arrayvalue )
{
$i++;
printf('<li class="'.$i.'">'.$arrayvalue.'</li>');
}
答案 2 :(得分:0)
使用for
循环迭代数组,如下所示:
for( $i = 0, $j = count( $arrayvalues); $i < $j; $i++) :
printf('<li class="' . ($i + 1) . '">' . $arrayvalues[$i] . '</li>');
endfor;
如果您希望索引$i
从1开始,则需要在printf语句中添加一个。
附注:如果您实际上没有生成格式化输出,则此处不需要printf。
答案 3 :(得分:0)
$arrayvalues = array_reverse(explode(', ', somefunction()));
$i=0;
foreach ( $arrayvalues as $arrayvalue ) :
++$i;
$countvalue = $i;
printf('<li class="'.$countvalue.'">'.$arrayvalue.'</li>');
endforeach;
我们(或我)建议您使用正常的for循环。
for($i = 0; $i < count($arrayvalues); $i++) {
printf('<li class="'.($i+1).'">'.$arrayvalue.'</li>');
}