Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z funkcją :(
GENCE
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 3.08.2003

Ostrzeżenie: (0%)
-----


Mam taki problem - napisalem funkcję, która odczytuje plik tekstowy i przekształcająca go w tablicę. W funkcji podaję dwa parametry - nazwę pliku i nazwę tablicy, do której dane mają być zapisane:

[php:1:630401b892]<?php
function czytaj_plik($nazwa_pliku, $tablica)
{
$fp = fopen("./$nazwa_pliku","r");
$ciag_zpliku = fread($fp, 5000);
fclose($fp);
$tablica = explode("<T>", $ciag_zpliku);
return $tablica;
}

//wywolanie funkcji
czytaj_plik("tekst.txt", $abla);

?>[/php:1:630401b892]

Problem polega na tym, że funkcja tworzy tablicę "$tablica" i do niej wrzuca dane - nie tworzy natomiast tablicy "$abla" - czyli tablicy o nazwie podanej w drugim parametrze sad.gif

Chodzi mi o stworzenie takiej funkcji, która odczytywała by podany plik tekstowy i wrzycała go do tablicy o podanej w parametrze nazwie...

Gdzie jest błąd ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
rzseattle
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 554
Pomógł: 0
Dołączył: 4.04.2002
Skąd: Tychy

Ostrzeżenie: (0%)
-----


jak dla mnie to albo global (ale juz sam nie ustalisz nazwy zmiennej) albo $zmienna = funkcja($od_czegostam)


--------------------
"Real children don't go hoppity-skip unless they are on drugs."
Go to the top of the page
+Quote Post
spenalzo
post
Post #3





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Musisz użyć referencji.
[php:1:0863eef60d]<?php
function czytaj_plik($nazwa_pliku, &$tablica)
{
$fp = fopen("./$nazwa_pliku","r");
$ciag_zpliku = fread($fp, 5000);
fclose($fp);
$tablica = explode("<T>", $ciag_zpliku);
return $tablica;
}

//wywolanie funkcji
$abla=array();
czytaj_plik("tekst.txt", $abla);
?>[/php:1:0863eef60d]


--------------------

Go to the top of the page
+Quote Post
GENCE
post
Post #4





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 3.08.2003

Ostrzeżenie: (0%)
-----


No nic, chyba bedę musiał zadowolić się takim rozwiązaniem:
[php:1:9bcac563ad]<?php
$abla=czytaj_plik("tekst.txt"); // i usunąć drugi parametr z funkcji
?>[/php:1:9bcac563ad]
jedynie to działa sad.gif

Pozostaje pytanie dlaczego tamta funkcja nie działa ... (nie jest to kwestia użycia zmiennych globalnych)

//pozdrawiam gence
Go to the top of the page
+Quote Post
GENCE
post
Post #5





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 3.08.2003

Ostrzeżenie: (0%)
-----


O sorry, nie zauwazyłem "&" przy parametrze w funkcji smile.gif
Faktycznie rozwiązania spenalzo działa.
- i to nawet bez:
[php:1:31d03f0b66]<?php
$abla=array();

?>[/php:1:31d03f0b66]

Dzięki smile.gif
Go to the top of the page
+Quote Post
spenalzo
post
Post #6





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


No to dobrze, bo myślałem że dzisiaj same głupoty piszę... biggrin.gif

Deklarację zmiennej tablicowej
[php:1:40fe7105e8]<?php
$abla=array();
?>[/php:1:40fe7105e8]
dałem, ponieważ nie byłem pewien, czy bez tego będzie działać przekazywanie przez referencje.


--------------------

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 17:04