it-swarm.com.de

php zählt die Anzahl der Strings nach der Explosion

Hier ist mein Code

<?php

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

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


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

}

?>

die Ausgabe ist

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

Was ich versuche, die Anzahl der Saiten zu zählen, nachdem ich | (es sollte 6 für mein Beispiel sein) Ich brauche auch mein $ i, um von 1 bis 0 zu beginnen

Irgendeine Idee bitte?

Vielen Dank.

9
user2203703
<?php

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

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


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

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

}

?>

Versuchen Sie es mit: 

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

Arrays beginnen mit einer 0, nicht einer. Wenn Sie etwas anderes als count verwenden, erhalten Sie ständig 1 weniger als erwartet (es sei denn, Sie ändern das Array vor dem Zählen). 

13
Daryl Gill

Wenn Sie nur die Gesamtzahl benötigen, können Sie Folgendes tun:

$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

programmierer zählen immer von 0, es ist eine gute Praxis, aber wenn Sie dies wirklich tun müssen, deklarieren Sie einfach die Variable $ i vor der fooreach-Schleife als 1

0
techpixel