web-dev-qa-db-ja.com

PHPは分解後の文字列の数を数えます

これが私のコードです

<?php

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

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


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

}

?>

出力は

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

爆発後に文字列の数を数えようとしています| (私の例では6にする必要があります)また、$ iは0ではなく1から開始する必要があります

何かアイデアはありますか?

ありがとうございました。

9
user2203703
<?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

配列は1ではなく0のキーで始まります。したがって、カウント以外のものを使用すると、常に予想よりも1少なくなります(カウントの前に配列を変更しない限り)

14
Daryl Gill

総数だけが必要な場合は、次のようにします。

$tags = explode('|' , $string);
$num_tags = count($tags);
8
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

プログラマーは常に0からカウントします。これは良い習慣ですが、本当に必要な場合は、fooreachループの前に$ i変数を1として宣言するだけです。

0
techpixel