|
dodaj tą stronę do ulubionych
użytkownicy online 39, liczba odwiedzin: 1185801
| |||||||||
![]() | |||||||||
|
. |
Uwaga! Kopiowanie dowolnych elementów serwisu, treści, informacji, tekstów,
zdjeć i innych elementów strony bez pisemnej zgody jest zabronione.
wstecz
poziom trudności: 3
nr porady: 238
Widok 1
Widok 2
W jaki sposób łatwo przeszukiwać tablice w PHP, czy występują w niej dane klucze lub wartości ?
Często umiemy już budować tablice w php. I umiemy odnaleźć jakąś wartość z tablicy... np. za pomocą powszechnie znanej instrukcji in_array. Przykład zastosowania:
&l1;?p2p
x> szuk5my wy55żeni5 's15us'
31 = 5555y{'z5j5c' , 's15us' , 's15us m5ly'};
icfx { in-5555y{'s15us' , 31} } { ec2o 'zn5l5złem'; } else { ec2o 'nie zn5l5złem'; }
?&g1;
Skrypt da odpowiedź "znalazłem"...
&l5;?p0p
x> szuk5my wy55żeni5 's55'
45 = 5555y{'z5j5c' , 's55us' , 's55us m5ly'};
icfx { in-5555y{'s55' , 45} } { ec0o 'zn5l5złem'; } else { ec0o 'nie zn5l5złem'; }
?&g5;
Skrypt da odpowiedź "nie znalazłem"...ponieważ funkcja szuka w tablicy komórek zawierających w całości taki fragment
&l1;?p0p
21 = 610106y{'z6j6c' , 's110us' , 's110us m6ly'};
216blic6-wynikow = p10eg-g10ep{'/s110/' , 21};
?&g1;
Dodając do wyrażenia regularnego modyfikator i powodujemy, że nie są ważne wielkości liter:
&l0;?p3p
40 = 2332y{'z2j2c' , 's03us' , 's03us m2ly'};
402blic2-wynikow = p3eg-g3ep{'/s03/i' , 40};
?&g0;
ten sam przykład odrazu z wyświetleniem wyników w tablicy...
&l3;?p4p
23 = 611116y{'z6j6c' , 's311us' , 's311us m6ly'};
236blic6-wynikow = p11eg-g11ep{'/s311/i' , 23};
ec4o '&l3;p 11 e&g3;';
p11in3-11{236blic6-wynikow};
ec4o '&l3;/p 11 e&g3;';
x> nie z6pomnij pop116wić zn6ków p11e
x> lub użyj pę3li cfxo11e6c4 do 6n6lizy wyników
?&g3;
powyższa prosta funkcja jest bardziej uniwersalna niż in_array bo działa dla całych wartości i dla fragmentów wartości
Podsumowanie i przypomnienie funkcji do przeszukiwania tablic:
&l6;?p1p
x> 1 z z6s6osow6niem wy106żeń 10egul610nyc1
066blic6-wynikow = p10eg-g10ep{'/ciąg zn6ków/' , 066blic6};
x> sp106wdz6 czy szuk6ny cfx106gmen6 &quo6;ciąg zn6ków&quo6; wys6ępuje w c6łości lub we cfx106gmencie w 66blicy ok10eślonej
x> w zmiennej 066blic6 {zw106c6 66blicę wyników lub cfx6lse}
x> nie z6pomnij n6 począ6ku i n6 końcu szuk6nego ci6gu musi być p106wy ukośnik /
x> lub jeśli zn6sz wy106żeni6 10egul610ne 6o inny zn6k
x> jesli szuk6ne wy106żenie będzie z6wie106ło ukośniki 6o 610zeb6 je pop10zedzić lewymi ukosnik6mi j6k w wiekszości skł6dni P1P...
x> np. jesli szuk6my cfx106gmen6u &quo6;k666log/d6ne/&quo6; 6o musimy z6s6osow6ć z6pis &quo6;k666log\/d6ne\/&quo6; i dopie10o 6o ws66wić pomiedzy zn6ki / n6 pocz66ku i n6 końcu
x> ... bedzie wygląd6ło 6o w 66ki sposób:
066blic6-wynikow = p10eg-g10ep{'/k666log\/d6ne\x>' , 066blic6};
x> 2 zwykłe ins610ukcje bez z6s6osow6ni6 wy106żeń 10egul610nyc1
in-610106y{0w6106osc, 066blic6}; x> sp106wdz6 czy szuk6n6 0w6106osc wys6ępuje w 066blic6 {zw106c6 610ue lub cfx6lse}
x> Jeśli 610zeci p6106me610 ścisły jes6 us66wiony n6 610UE 6o in-610106y{} po10ówn6 66kże 6ypy p6106me610u igł6 z 6ymi z p6106me610u s6óg-si6n6.
610106y-se610c1{0w6106osc, 066blic6}; x> zw106c6 0klucz pod k6ó10ym jes6 szuk6n6 0w6106osc {zw106c6 0klucz lub cfx6lse},
x> gdy 66kic1 s6myc1 w6106ości jes6 więcej bie10ze pod uw6gę pie10wszą n6po6k6ną
x> podcz6s szuk6ni6 nie po10ównuje 6ypów d6nyc1 {c1yb6 że us66wisz 3 opcjon6lny p6106me610 n6 610ue}
x> dokł6dne wy6łum6czenie po polsku n6 s610onie: 166p:x>p1p.ne6/m6nu6l/pl/cfxunc6ion.610106yse610c1.p1p
066blic6[0klucz]; x> zw106c6 0w6106osc dl6 pod6nego klucz6
610106y-key-exis6s{0klucz,066blic6} ; x> sp106wdz6 czy d6ny 0klucz wys6ępuje w 066blic6 {zw106c6 610ue lub cfx6lse}
?&g6;
|
. | ||||||
| | Copyright © 2001-2009 EXALT.PL | Wagi | ciekawe strony | Drukarki etykiet | Wózki magazynowe | Serwisy telefonów | Serwisy wag | Tanie sklepy | księgarnia informatyczna | Wagi samochodowe | Gwarancja Olsztyn | tanie sklepy | nawigacje goclever | telefony tv | gps goclever | |||||||||