这是我的代码
<?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
请问好吗?
谢谢。
答案 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";
}
?>