PHP - Intval
Dobrý den Mám problém s funkcí intval sama o sobě mi funguje ale já mám vzít text z určité proměnné a z toho odstranit znaky a opět ten text vypsat
<?php
$soubor2 = fopen("soubor2.txt", "r+"); //otevře soubor2.txt
while (!feof($soubor2)) {
$pole = fgets($soubor2, 100); //přečte soubor2.txt
$novy_text = explode('#', $pole); //pak od znaku # odtrhne slova
echo $novy_text[0]."<BR />" ; //vypiše do vektoru
echo $novy_text[1]."<BR />" ; //vypiše do vektoru
echo $novy_text[2]."<BR />" ; //vypiše do vektoru
echo $novy_text[3]."<BR />" ; //vypiše do vektoru
echo $novy_text[4]."<BR />" ; //vypiše do vektoru
echo $novy_text[5]."<BR />" ; //vypiše do vektoru
echo $novy_text[6]."<BR />" ; //vypiše do vektoru
echo $novy_text[7]."<BR />" ; //vypiše do vektoru
echo $novy_text[8]."<BR />" ; //vypiše do vektoru
echo $novy_text[9]."<BR />" ; //vypiše do vektoru
echo $novy_text[10]."<BR />" ; //vypiše do vektoru
echo $novy_text[11]."<BR />" ; //vypiše do vektoru
echo $novy_text[12]."<BR />" ; //vypiše do vektoru
echo $novy_text[13]."<BR />" ; //vypiše do vektoru
}
(($novy_text[11]) > 0) and (INTVAL($novy_text[11]) > 3);
$sv+=$novy_text [11];
echo $sv;
?>
ale pořád mi to vypisuje nulu nebo slovo array což mi nedává moc smysl
<?php
$soubor2 = fopen("soubor2.txt", "r+"); //otevře soubor2.txt
while (!feof($soubor2)) {
$pole = fgets($soubor2, 100); //přečte soubor2.txt
$novy_text = explode('#', $pole); //pak od znaku # odtrhne slova
echo $novy_text[0]."<BR />" ; //vypiše do vektoru
echo $novy_text[1]."<BR />" ; //vypiše do vektoru
echo $novy_text[2]."<BR />" ; //vypiše do vektoru
echo $novy_text[3]."<BR />" ; //vypiše do vektoru
echo $novy_text[4]."<BR />" ; //vypiše do vektoru
echo $novy_text[5]."<BR />" ; //vypiše do vektoru
echo $novy_text[6]."<BR />" ; //vypiše do vektoru
echo $novy_text[7]."<BR />" ; //vypiše do vektoru
echo $novy_text[8]."<BR />" ; //vypiše do vektoru
echo $novy_text[9]."<BR />" ; //vypiše do vektoru
echo $novy_text[10]."<BR />" ; //vypiše do vektoru
echo $novy_text[11]."<BR />" ; //vypiše do vektoru
echo $novy_text[12]."<BR />" ; //vypiše do vektoru
echo $novy_text[13]."<BR />" ; //vypiše do vektoru
}
(($novy_text[11]) > 0) and (INTVAL($novy_text[11]) > 3);
$sv+=$novy_text [11];
echo $sv;
?>
ale pořád mi to vypisuje nulu nebo slovo array což mi nedává moc smysl
Odpovědi
Diskuze
A co má dělat ta řádka
(($novy_text[11]) > 0) and (INTVAL($novy_text[11]) > 3);
??? Ta nic nedělá takhle napsaná, jen udělá dvě porovnání spojená operátorem and, ale s výsledkem nic neudělá.
Mimochodem explode neodstraňuje znaky, ale rozloží daný řetězec na pole podle zadaného rozdělovače.
a má to dělat to že v těch posledních 3 proměnných echo myslím tím tohle: $novy_text[11]."<BR />" ; mám čísla kombinovaná s písmeny a pomocí těch funkcí dole chci dosáhnout toho že ty písmena a čísla z toho echa vytáhnu odstraním z nich ty písmena a vypíšu pouze ty čísla. takhle nějak nám to napsal učitel ale nechce mi to fungovat.
$sv = 0
A znova říkám, ta řádka
(($novy_text[11]) > 0) and (INTVAL($novy_text[11]) > 3);
nic nedělá. Jen se vyhodnotí a výsledek se nikam neuloží ani se nic nezmění. To muselo být nějak jinak.
Kdybys napsal, co je v tom $novy_text[11] za hodnotu a co by pak mělo být výsledkem, tak bych ti snad pomohl dál, ale pořád to zadání nechápu.
Ale pouze v případě, že to číslo v tom $novy_text[11] je větší než nula. Což je. A potom to jen vypsat