/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
array_rand fra en fil, tomt output
Fra : Mille Jacobsen


Dato : 28-02-07 09:55

Jeg spurgte den anden dag om lidt hjælp og fik også en løsning:

Jeg har en fil på 30 linier, "ord.txt", med et ord på hver linie.
Bemærk: Der er ingen tomme linier i filen.



$hent= file("ord.txt");
$b = array_rand($hent,5);

$b0 = $hent[$b[0]];
$b1 = $hent[$b[1]];
$b2 = $hent[$b[2]];
$b3 = $hent[$b[3]];
$b4 = $hent[$b[4]];


Dette fungerer fint, men der kommer ofte en TOM variabel. Kun én, som
om der er 1 tom linie i txt-filen.

Hvorfor gør der det? Og hvad kan jeg gøre for at sikre mig at alle
variblerne bliver udfyldt?

/Mille


 
 
Arne Feldborg (28-02-2007)
Kommentar
Fra : Arne Feldborg


Dato : 28-02-07 10:36

"Mille Jacobsen" <millekysmund@ofir.dk> skrev 28 Feb 2007 00:54:40 -0800

>Dette fungerer fint, men der kommer ofte en TOM variabel. Kun én, som
>om der er 1 tom linie i txt-filen.
>
Det kan du meget nemt finde ud af ved at gøre sådan her:

>$hent= file("ord.txt");
>$b = array_rand($hent,5);
>
Ændres til:

$hent= file("ord.txt");
echo '<pre>';
print_r($hent);

$b = array_rand($hent,5);
print_r($b);
echo '</pre>';

Kør scriptet og tryk "Reload" nogle gange, så vil du se hvor problemet
opstår. Sansynligvis er der en tom linie nederst i tekstfilen.

--
mvh, A:\Feldborg

Slægtsforskning og lokalhistorie i midt- vestjylland
http://hammerum-herred.dk/

Mille Jacobsen (28-02-2007)
Kommentar
Fra : Mille Jacobsen


Dato : 28-02-07 11:06

On 28 Feb., 10:35, Arne Feldborg <feldb...@haunstrup.dk> wrote:

>
> Kør scriptet og tryk "Reload" nogle gange, så vil du se hvor problemet
> opstår. Sansynligvis er der en tom linie nederst i tekstfilen.
>


Det var en fiks måde.

Det viste sig, at det var imellem linie 2 og 4 den var gal. Den viste
slet ikke linie 3. Så jeg at fjerne og tilføje linieskift mellem linie
2/3 og 3/4. Så virkede det.
Så problemet var midt i en tekst fil. Det var da lidt sært.

Det var en smart måde du gjorde det på. Kan du ikke forklare hvad det
er der sker med det script du lavede?
/Mille


Bertel Lund Hansen (28-02-2007)
Kommentar
Fra : Bertel Lund Hansen


Dato : 28-02-07 13:45

Mille Jacobsen skrev:

> Det var en smart måde du gjorde det på. Kan du ikke forklare hvad det
> er der sker med det script du lavede?

print_r() er beregnet til at udskrive indholdet af variable så
man under udviklingen af et program kan se om det virker.

Man putter det som regel ind mellem <pre> og </pre> fordi man
derved undgår at teksten HTML-formateres, men blot vises som rå
tekst (preformatet).

--
Bertel
http://bertel.lundhansen.dk/      http://fiduso.dk/

Søg
Reklame
Statistik
Spørgsmål : 177500
Tips : 31968
Nyheder : 719565
Indlæg : 6408514
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste