如何计算数组中值的顺序?

时间:2011-12-01 20:51:56

标签: php arrays count

我有一个带有一些值的数组,想要做这样的事情:

 $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帮助,但找不到明确的解决方案

谢谢

4 个答案:

答案 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>');  
}