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

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/16502748/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-25 11:14:43  来源:igfitidea点击:

php count the number of strings after exploded

phparrayscountexplode

提问by user2203703

Here is my code

这是我的代码

<?php

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

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


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

}

?>

the output is

输出是

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

What i'm try to count the number of strings after i exploded | (it should be 6 for my example) also i need my $i to start from 1 not 0

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

Any idea please ?

有什么想法吗?

Thank you.

谢谢你。

回答by Daryl Gill

<?php

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

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


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

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

}

?>

Try using:

尝试使用:

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

Arrays start with a key of 0, not one. So when using anything else apart from count, you will constantly get 1 less than your expected (unless you modify the array prior to counting)

数组以 0 的键开始,而不是 1。因此,当使用除计数之外的任何其他内容时,您将不断获得比预期少 1 的值(除非您在计数之前修改数组)

回答by Karl M.W.

If you just need the total number, you could do this:

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

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

回答by Shanu

<?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++;
}

?>

回答by Avigit.M

<?php

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

?>

回答by techpixel

programmers always count from 0, it's good practice, but if you really need to do this simply declare the $i variable as 1 before the fooreach loop

程序员总是从 0 开始计数,这是一个很好的做法,但如果你真的需要这样做,只需在 fooreach 循环之前将 $i 变量声明为 1