Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]jak przypisać puste dane do tablicy
cytrysek
post 4.05.2010, 12:07:47
Post #1





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 4.01.2008

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


Witam,

mam plik z powtarzającymi się danymi sekwencyjnie. Każdy rekord w sekwencji znajduje się między konkretnymi znacznikami, dzięki czemu wyciągam te rokordy za pomocą wyrażeń regularnych.

przykład danych w pliku:


%START
%%dane1%% jakiś opis
%%dane2%% opis pola 2
%%dane3%% trele morele
%KONIEC
%START
%%dane1%% inny opis pola1
%%dane2%% inny opis pola 2
%%dane3%% trele morele 2
%KONIEC

... itd.


stworzyłem sobie pętle i analizuję każdy z rekordów indywidualnie:

  1. for($x = 1, $n = $ile_platnosci; $x <= $n; $x++) {
  2.  
  3. echo "<br><div align=center> ******** POCZĄTEK SEKWENCJI NR ".$x." *************</div></br>";
  4. preg_match_all("/%%dane1%%(.*?)%%dane([0-9]{1})%%/is", $pobrany_plik, $dane1);
  5. $dane1 = preg_replace('/%%dane([0-9]{1})%%:/is', '', $dane1[0]); //usuwam znak znacznika z 1 ciagu
  6.  
  7. echo "<span class=opis>".$dane1[$x-1]."</span>"; //wyswietlam wynik
  8.  
  9. // itd. pozostale pola
  10. }


czasem niestety zdarza sie, że w danej sekwencji brakuje jakiegos ciągu, np
calej lini:
%%dane2%% opis pola 2

wówczas np zamiast Array ( [0] => opis pola 2, [1] => inny opis pola 2)

dostaje: Array ( [0] => [0] => inny opis pola 2)
co w konsekwencji daje to, że część danych z sekwencji 1 (pomiędzy %START a %KONIEC) przechodzi wyżej, w wolne miesce.

Jak w takim razie zrobić, by w przypadku braku konkretnej linii w danej sekwencji, uzyskac poprawny
ciag: Array ( [0] => puste , [1] => inny opis pola 2) zamisat Array ( [0] => [0] => inny opis pola 2)

lub może jak zabrać sie za wyświetlanie danych w petli tak by miało to ręce i nogi ?

dzięki za pomoc.
PW
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 Wersja Lo-Fi Aktualny czas: 18.07.2025 - 04:20