web-dev-qa-db-fra.com

php compter le nombre de chaînes après avoir explosé

Voici mon code

<?php

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

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


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

}

?>

la sortie est

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

Qu'est-ce que je suis essayer de compter le nombre de chaînes après avoir explosé | (il devrait être 6 pour mon exemple) aussi j'ai besoin de mon $ i pour commencer à partir de 1 pas 0

Une idée s'il vous plaît?

Je vous remercie.

9
user2203703
<?php

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

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


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

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

}

?>

Essayez d'utiliser: 

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

Les tableaux commencent par une clé de 0, pas une. Ainsi, si vous utilisez autre chose que compter, vous obtiendrez toujours 1 moins que prévu (sauf si vous modifiez le tableau avant de compter) 

13
Daryl Gill

Si vous avez juste besoin du nombre total, vous pouvez faire ceci:

$tags = explode('|' , $string);
$num_tags = count($tags);
7
Karl M.W.
<?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++;
}

?>
1
Shanu

les programmeurs comptent toujours à partir de 0, c'est une bonne pratique, mais si vous devez vraiment le faire, déclarez simplement la variable $ i à 1 avant la boucle fooreach

0
techpixel