php count the number of strings after exploded

user2203703 picture user2203703 · May 12, 2013 · Viewed 61.4k times · Source

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

Any idea please ?

Thank you.

Answer

Daryl Gill picture Daryl Gill · May 12, 2013
<?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)