php计算爆炸后的字符串数量

时间:2013-05-11 23:37:43

标签: php arrays count explode

这是我的代码

<?php

$string = 'a|b|c|d|e|f';

$tags = explode('|' , $string);


foreach($tags as $i =>$key) {
$i >0;
    echo $i.' '.$key .'</br>';

}

?>

输出

0 a
1 b
2 c
3 d
4 e
5 f

我爆炸后我试图计算字符串的数量(我的例子应该是6)我也需要我的$ i从1开始而不是0

请问好吗?

谢谢。

5 个答案:

答案 0 :(得分:15)

<?php

$string = 'a|b|c|d|e|f';

$tags = explode('|' , $string);


foreach($tags as $i =>$key) {

    echo $i.' '.$key .'</br>';

}

?>

尝试使用:

echo count($tags); // Output of 6

数组以0的键开头,而不是一个。因此,当使用除计数之外的任何其他东西时,你将不断得到比预期少1的东西(除非你在计算之前修改数组)

答案 1 :(得分:8)

如果您只需要总数,可以这样做:

$tags = explode('|' , $string);
$num_tags = count($tags);

答案 2 :(得分:1)

<?php

$string = 'a|b|c|d|e|f';

$tags = explode('|' , $string);

$count =count($tags);
  echo 'Count is: '.$count .'</br>';
$i = 1 ;
foreach($tags as $key) {

    echo $i.' '.$key .'</br>';
$i++;
}

?>

答案 3 :(得分:0)

程序员总是从0算起,这是一个好习惯,但是如果你真的需要这样做,只需在fooreach循环之前将$ i变量声明为1

答案 4 :(得分:0)

<?php

$string = 'a|b|c|d|e|f';
$array= explode('|' , $string);
 for($i = 0;$i<count($array);$i++){
  echo $i. $array[$i]."\n";
}

?>