![]() |
![]() |
![]()
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 ![]() 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 ? |
|
|
![]() |
![]()
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."
|
|
|
![]()
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] -------------------- |
|
|
![]()
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 ![]() Pozostaje pytanie dlaczego tamta funkcja nie działa ... (nie jest to kwestia użycia zmiennych globalnych) //pozdrawiam gence |
|
|
![]()
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
![]() Faktycznie rozwiązania spenalzo działa. - i to nawet bez: [php:1:31d03f0b66]<?php $abla=array(); ?>[/php:1:31d03f0b66] Dzięki ![]() |
|
|
![]()
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ę...
![]() 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. -------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 17:04 |