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 начинался с 1, а не с 0
Есть идеи, пожалуйста?
Спасибо.
8
Author: user2203703, 2013-05-12
4 answers
<?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
Массивы начинаются с ключа 0, а не с единицы. Поэтому при использовании чего-либо еще, кроме count, вы будете постоянно получать на 1 меньше, чем ожидали (если только вы не измените массив перед подсчетом)
13
Author: Daryl Gill, 2017-12-18 07:47:38
Если вам просто нужно общее число, вы можете сделать это:
$tags = explode('|' , $string);
$num_tags = count($tags);
6
Author: Karl M.W., 2013-05-11 23:41:06
<?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
Author: Shanu, 2016-12-01 06:52:55
Программисты всегда считают от 0, это хорошая практика, но если вам действительно нужно это сделать, просто объявите переменную $i как 1 перед циклом fooreach
0
Author: techpixel, 2013-05-11 23:42:27