Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php计算分解后的字符串数_Php_Arrays_Count_Explode - Fatal编程技术网

php计算分解后的字符串数

php计算分解后的字符串数,php,arrays,count,explode,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>'; } ?> 我尝试在分解后计算字符串的数量|(我的示例中应该是6个),我还需要我的$i从1开始,而不是从0开始 有什么想法吗 谢谢。如果您只需要总数,您可以这样做: $tags

这是我的密码

<?php

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

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


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

}

?>
我尝试在分解后计算字符串的数量|(我的示例中应该是6个),我还需要我的$i从1开始,而不是从0开始

有什么想法吗


谢谢。

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

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

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

程序员总是从0开始计数,这是一种良好的做法,但如果确实需要这样做,只需在fooreach循环之前将$i变量声明为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++;
}

?>


通常如何处理数组中的
count()
项?如果创建一个简单数组:
$Var=array(“第一”、“第二”)然后发布
打印($Var)您会注意到这些键总是从0开始。这是每个已创建数组的主索引。因此,您将获得您所获得的输出。在循环之前,但在创建数组之后,您需要重新索引数组,以获得如下键:
array(1,2,3,4,5,6)重新索引数组??为什么不加1?@PeeHaa埽 我还想到了数组显示方面“程序员总是从0开始计数”实际上这取决于语言而这段代码可能会回答这个问题,提供了关于为什么和/或如何回答这个问题的额外上下文,从而提高了它的长期价值。
<?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
<?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++;
}

?>
<?php

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

?>