![]() |
![]() |
![]()
Post
#1
|
|
Administrator planeta/IRC Grupa: Przyjaciele php.pl Postów: 385 Pomógł: 0 Dołączył: 19.04.2003 Skąd: Zabrze Ostrzeżenie: (0%) ![]() ![]() |
Mam tablice stworzoną przez funkcje file(), jak wiadomo trzyma ona tablice której elementy odpowiadają kolejnym linią w pliku. Chciałbym na początku każdego z elementów dopisać nr. linie w której sie znajduje, tylko niebardzo wiem jak się do tego zabrać (jak uzyskać klucz?) Jest jakieś rozwiązanie oprócz użycia pętli ?
|
|
|
![]() |
![]()
Post
#2
|
|
Administrator planeta/IRC Grupa: Przyjaciele php.pl Postów: 385 Pomógł: 0 Dołączył: 19.04.2003 Skąd: Zabrze Ostrzeżenie: (0%) ![]() ![]() |
Tak, ale to nie będzie tablica asocjacyjna :] Pozatym dam chyba kod bo cięzko jest mnie zrozumieć. Konstruktor mojej klasy:
[php:1:09e56b662e]<?php function txt_file($file_name){ if(!file_exists($file_name)) CreateEmptyFile($file_name); $this->file_name = $file_name; $this->lines = explode("n", str_replace("r", '', join('', file($file_name)))); $this->cnt = count($this->lines); unset($this->lines[--$this->cnt]); } ?>[/php:1:09e56b662e] I teraz chodzi o to, żeby do każdej linijki (każdego elementu zmiennej klasowej lines) dodąc na początek jego klucz (będzie to poprostu kolejny numer indexu). Czyli jeśli zawartość pierwszej lini w pliku jest taka: Kod Cudi|+|cudi@wp.pl
To trzeba by ją zamianić na taką: Kod 0|+|Cudi|+|cudi@wp.pl
I teraz nie wiem czy da sie to osiągnąć bez użycia pętli, bo w między czasie pomyślałem troche i doszedłem do tego że łatwo to można osiągnąć foreachem ($this->lines as $key => $line) :] Może jeszcze wyjaśnie po co to wszystko :] Ano klasa ma możliwość wybrania dowolych linijek od do i posortowania ich (używam array_multisort()). A klucz danej linijki normlanie jest jej id, do którego moge sie odnieść usuwająć ją lub edytując. A po sortowaniu klucze sie pomieszają, i potem już nikt nie będzie wiedział co sie zapisze, co updateuje itd :] I teraz próbująć dojść do tego jak temu zapobiec wpadłem na pomysł aby poprostu dodać te klucze na początek linijek i mieć je zgłowy :] |
|
|
![]() ![]() |
![]() |
Aktualny czas: 12.10.2025 - 21:53 |