PHP - Intval

Anonym Tifibud04.12.2013 19:36 Nahlásit
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

Odpovědi

Přidat odpověď ▾

Diskuze

Anonym Punyqun04.12.2013 20:49 Nahlásit
A které to echo vypisuje 0 nebo array? Ty jak sou v tom příkazu while nebo to echo na konci?

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.
Anonym Tifibud04.12.2013 22:18 Nahlásit
tu 0 a array vypisuje to echo na konci
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.
Anonym Revuduh04.12.2013 22:40 Nahlásit
Úplně tomu nerozumim, ale když se k tý proměnný $sv přičítá ($sv+=$novy_text [11];), tak by se měla nejdřív někde na začátku vynulovat:

$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.
Anonym Tifibud07.12.2013 16:42 Nahlásit
v $novy_text[11] je hodnota 1a23 a pomocí intval chci dosáhnout toho že, odstraním to písmeno(a)
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
Přidat komentář do diskuze ▾