Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Jak uzyskać klucz danego elementu tablicy ?
Cudi
post
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 ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Cudi
post
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 :]
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 12.10.2025 - 21:53