[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Последний элемент цикла
Glorious
Написал простенький скрипт, который достает mp3 и дописывает их в плейлист, вместе с ogg.
Вопрос в том, как определить последний элемент цикла и вместо него вывести свое значение?

$j_music = glob('music/*');
foreach($j_music as $j_mp3){
$j_music_type = explode(".mp3", $j_mp3);
echo '
{
mp3:"'
.$j_mp3.'",
oga:"'
.$j_music_type[0].'.ogg"
},
'
;
}




Спустя 12 минут, 14 секунд (21.07.2011 - 15:26) kristall написал(а):
перед циклом
$i = count($j_music);


А в цикле:
if (!(--$i)) {
//делаешь что надо
break;
}

Спустя 14 минут, 2 секунды (21.07.2011 - 15:40) Glorious написал(а):
Сделал немного по другому, разобрался))

foreach($j_music as $j_mp3){
$j_music_type = explode(".mp3", $j_mp3);
if(preg_match('/mp3/', $j_mp3)) { //проверка на наличие mp3
if (!next($j_music)) { //выводим последний элемент
echo '
{
mp3:"'
.$j_mp3.'",
oga:"'
.$j_music_type[0].'.ogg"
}
'
;
} else { //выводим все элементы кроме последнего
echo '
{
mp3:"'
.$j_mp3.'",
oga:"'
.$j_music_type[0].'.ogg"
},
'
;
}
}
}

Спустя 8 минут, 8 секунд (21.07.2011 - 15:48) sharki написал(а):
если $j_music простой массив то
$last = array_reverse($j_music);
echo $last[0];


Или используй array_slice()

Спустя 2 минуты, 54 секунды (21.07.2011 - 15:51) kristall написал(а):
У меня все работает:

<?php
$j = array('one', 'two', 'three');
$i = count($j);
foreach($j as $k){
echo '<p>bubu';
if (!(--$i)) {echo ' kuku', $i;break;} else {echo ' zuzu', $i;}
echo 'dudu';
}


Выдает:
bubu zuzu2dudu
bubu zuzu1dudu
bubu kuku0
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.