Autor Zpráva
Hondrej
Profil *
Vytvarim si funkci, ktera mi spocte pocet vyskytu audio souboru (pomoci toho, ze zjistim, kolikrat se v retezci vyskytuje podretezec jako napr. mp3, mp2, wma, mid, mp4 apod.) a mam s ni problem - php pise Warning: Empty delimiter in ...

Nejprve ukazka toho, jak to funguje v pripade 1 jedineho typu souboru (vyhledani vyskytu mp3):
<?php
$count = explode(".mp3", $retezec);
##1. moznost##
foreach ($count as $key=>$value)
{
echo "Vyskyt mp3 1. varianta<br>\n";
}
echo (count($count)-1);
##2. moznost##
for ($i=0;$i<count($count);$i++)
{
echo "Vyskyt mp3 2. varianta<br>\n";
}
echo (count($count)-1);
?>
Tak a ted budu chtit spocitat vyskyt VSECH typu audio souboru, tedy nikoliv jen tech, ktere jsou mp3, a zde mam take problem:
<?php
$audio_pripony = array(".mp3", ".mp2", ".ogg", ".wma", ".wav", ".mp4", ".mid");
$retezec = "well let me say, that the most popular audio format is mp3. Here is a free sample: <a href=\"sample.mp3\">free sample</a>. The other most popular and apparently better is one called ogg: <a href=\"sample.ogg\">sample</a>. For Windows users the most common is a audio format socalled wma whis is an abbreviation (shortcut for) for windows media audio file: <a href=\"sample.wma\">sample</a>. Abychom to spocitali, 1x mp3, 1x ogg, 1x wma. Total count: 3 results.";

##ODDELOVAC##
for ($index=0;$index<=count($audio_pripony);$index++)
{
$pocet[$index] = explode($audio_pripony[$index], $retezec);

for ($q=0;$q<count($pocet[$index]);$q++)
{
echo "Vyskyt".$audio_pripony[$index]."<br>\n";
// echo $pocet[$index][$q];
}
echo (count($pocet[$index])-1);
echo "<hr>\n";
}
?>
Ta chyba s empty delimiterem ukazuje na $pocet[$index] = explode($audio_pripony[$index], $retezec); a ja nechapu proc.
Mimoto diky tomu se tam vypisuje 1hlaseni navic. Kdyz se script spusti jako celek, mame 7 typu souboru, ale vypise vam to 8x. Proc?

PS - Prispevky o tom, ze zjisteni poctu mp3 souboru jde zjistit jinak mi prosim nepiste, dekuji. Sam vim, ze to jde udelat metodou zkracovani celkoveho retezce (prijde mi slozitejsi) nebo primo system naprogramovat dle potreb...
gaminn
Profil *
Vypiš si, jaký delimiter (předpokládám, že tím je myšlený separator) je zrovna u funkce explode použit. Myslím, že problém by mohl být u for ($index=0;$index<=count($audio_pripony);$index++) kdy zaručeně jeden $index (buď 0, nebo count($audio_pripony), popř. jakýkoliv jiný, pokud indexy pole $audio_pripony nejsou číslovány popořadě od 0, resp. 1) neexistuje. Pomohlo by zřejmě přepsání toho <= na pouhé <.
Hondrej
Profil *
Anoano, uz to bylo vyreseno. Dekuji!
Toto téma je uzamčeno. Odpověď nelze zaslat.

0