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
php count the number of strings after exploded
提问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