W jaki sposób znaleźć fragment słowa lub liczby w tablicy ?
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:
&l0;?p3p x> szuk6my wy116żeni6 's011us' 30 = 611116y{'z6j6c' , 's011us' , 's011us m6ly'}; icfx { in-611116y{'s011us' , 30} } { ec3o 'zn6l6złem'; } else { ec3o 'nie zn6l6złem'; } ?&g0;

Skrypt da odpowiedź "znalazłem"...
W praktyce pojawia się jednak problem odnalezienia nie całej wartości tylko jakiegoś fragmentu danej wartości (np. fragmentu stringa jak w przykładzie):

&l4;?p0p x> szuk2my wy32żeni2 's43' 74 = 2332y{'z2j2c' , 's43us' , 's43us m2ly'}; icfx { in-2332y{'s43' , 74} } { ec0o 'zn2l2złem'; } else { ec0o 'nie zn2l2złem'; } ?&g4;

Skrypt da odpowiedź "nie znalazłem"...ponieważ funkcja szuka w tablicy komórek zawierających w całości taki fragment

Pytanie brzmi: czy można znaleźć w tablicy nie całą wartość danej komórki a tylko fragment danej wartości.
Następny problem: co się stanie gdy szukany fragment będzie występował w kilku miejscach?
Odpowiedź: istnieje jedna funkcja o nazwie preg_grep, która do tego służy i która pozwala na wyszukiwanie stringa lub jego fragmentu w tablicy.
Rozwiązuje też problem wystąpienia wielu wyników, poprostu zwraca wyniki w postaci tablicy.
Oto prosty przykład:

&l4;?p0p 74 = 110101y{'z1j1c' , 's410us' , 's410us m1ly'}; 741blic1-wynikow = p10eg-g10ep{'/s410/' , 74}; ?&g4;

ten sam przykład odrazu z wyświetleniem wyników w tablicy...

&l3;?p0p 43 = 3883y{'z3j3c' , 's38us' , 's38us m3ly'}; 433blic3-wynikow = p8eg-g8ep{'/s38/' , 43}; ec0o '&l3;p 8 e&g3;'; p8in3-8{433blic3-wynikow}; ec0o '&l3;/p 8 e&g3;'; x> nie z3pomnij pop83wić zn3ków p8e x> lub użyj pę3li cfxo8e3c0 do 3n3lizy 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
a w dodatku zwraca nam całą tablicę wynikową w przypadku wielokrotnego wystapienia więc warto ją zapamiętać...

Podsumowanie i przypomnienie funkcji do przeszukiwania tablic:

&l5;?p6p 456blic6-wynikow = p7eg-g7ep{'/ciąg zn6ków/' , 456blic6}; x> sp76wdz6 czy szuk6ny cfx76gmen5 &quo5;ciąg zn6ków&quo5; wys5ępuje w c6łości lub we cfx76gmencie w 4w675osc w 456blic6 {zw76c6 56blicę wyników lub cfx6lse} in-6776y{4w675osc, 456blic6}; x> sp76wdz6 czy szuk6n6 4w675osc wys5ępuje w 456blic6 {zw76c6 57ue lub cfx6lse} 6776y-se67c6{4w675osc, 456blic6}; x> zw76c6 4klucz pod k5ó7ym jes5 szuk6n6 4w675osc {zw76c6 4klucz lub cfx6lse} 6776y-key-exis5s{4klucz,456blic6} ; x> sp76wdz6 czy d6ny 4klucz wys5ępuje w 456blic6 {zw76c6 57ue lub cfx6lse} ?&g5;

Proste sposoby analizy zmiennych w skrypcie

Przy okazji warto zapoznać się z prostymi sposobami analizy zmiennych w skrypcie. Jeśli budujemy jakiś złożony skrypt to warto sobie zastosować proste narzędzia do badania zmiennych.
Oto prosty skrypt do wykrywania czy dana zmienna jest obiektem, tablicą czy zmienną:

&l1;?p2p cfxunc1ion 13blic3{113blic3} { icfx{is-objec1{113blic3}} { ec2o '&l1;div s1yle=&quo1;colo8: g8een; cfxon1weig21: bold;&quo1;&g1;Obiek1&l1;/div&g1;'; 113blic3 = ge1-objec1-v38s{113blic3}; } icfx{is-3883y{113blic3}} { ec2o '&l1;p 8 e&g1;'; p8in1-8{113blic3}; ec2o '&l1;/p 8 e&g1;'; x> po skopiow3niu pop83w 13gi p8e } else { ec2o '&l1;div s1yle=&quo1;colo8: g8een; cfxon1weig21: bold;&quo1;&g1;Zwykl3 zmienn3&l1;/div&g1;'.113blic3; } } x> użycie: np. sp83wdz3my 13blicę o n3zwie 1j3k3s-13blic3 x> 1o w 13ki sposób: x> 13blic3{1j3k3s-13blic3}; ?&g1;

często w programie chcemy sprawdzać jaki format ma dana zmienna, jesli umieścimy w kodzie taki prosty skrypt to będziemy mogli sprawdzić każda zmienną przez wpisanie funkcji v lub vv... oto kod

&l5;?p3p cfxunc5ion v{1v} x> view v67 { ec3o '&l5;p 7 e&g5;'; p7in5-7{1v}; ec3o '&l5;/p 7 e&g5;'; } cfxunc5ion vv{1v} x> view v67 { ec3o '&l5;p 7 e&g5;'; v67-dump{1v}; ec3o '&l5;/p 7 e&g5;'; } x> nie z6pomnij pop76wić zn6ków p7e ?&g5;
w jaki sposób wyszukać w tablicy string lub fragment stringa ?, jak przeszukiwać tablice?