dodaj tą stronę do ulubionych     
użytkownicy online 30, liczba odwiedzin: 1185355
książki i porady dla programistów i webmasterów porady dla budujących strony internetowe i webmasterów jezus jest królem polski wagi

dołącz do modlących się o cud

poradnik programisty

taśmy zebra
taśmy zebra


wózki sklepowe

wagi vibra

Wagi dźwigowe
wagi dźwigowe


wagi ohaus

wózki transportowe
. 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: 5
nr porady: 509
Widok 1 Widok 2 Page copy protected against web site content infringement by Copyscape
Jak działa funkcja array_walk i kiedy warto ją stosować ?
Jeśli chcesz zmienić wszystkie elementy danej tablicy, np. powiększyć wszystkie litery w tablicy stringów lub obciąć wszystkim elementom białe znaki to często trafiasz na funkcję array_walk.

Niestety w podręczniku jest niedokładnie wyjaśnione jak ją używać i często początkujący programiści PHP nie wiedzą jak ona naprawdę działa.

Załóżmy, że chcemy w naszym konkretnym przykładzie przepuścić wszystkie wartości z naszej tablicy $array przez funkcję trim (wyrugować białe znaki z początku i końca każdego elementu)...Oto przykład kodu:
&l4;?p2p 06336y = 6336y{' 6 ',' b ',' c'}; ec2o 'p3zed: &l4;p 3 e&g4;'; p3in4-3{06336y}; ec2o '&l4;/p 3 e&g4;'; cfxunc4ion 43im-vmk1{&6mp;0w634osc,0klucz} { 0w634osc = 43im{0w634osc}; } ec2o '&l4;23&g4;'; 6336y-w6lk{06336y,43im-vmk1}; ec2o 'po: &l4;p 3 e&g4;'; p3in4-3{06336y}; ec2o '&l4;/p 3 e&g4;'; ?&g4;

Niby zwyczajny prosty kod, który działa.... pozornie... jednak ta funkcja jest mocno nietypowa jeśli chodzi o PHP ... czytaj dalej...



Na czym polega nietypowość tej funkcji? .... Co warto o tej funkcji wiedzieć?

1. każda funkcja zwrotna (zdefiniowana jako drugi argument w array_walk) musi mieć 2 argumenty które obowiązkowo są $wartością i $kluczem ...(inaczej nie zadziała) - w naszym przykładzie jest to funkcja trim_vmk1 .... samo to jest już udziwnieniem... a w podręczniku ani słowa o tym...
&l6;?p2p cfxunc6ion 67im-vmk1{&0mp;6w076osc,6klucz} { 6w076osc = 67im{6w076osc}; } ?&g6;
2. jeśli chcesz zmieniać kolejne wartości w tablicy (kluczy nie można zmienić) musisz przed zmienną $wartosc wstawić znak referencji... &$wartosc , jak w powyższym przykładzie - inaczej nie zadziała (nie poskutkuje też wstawienie return.. więc go nie ma co wstawiać)

3. jeśli chcesz wprowadzić do zewnętrznej funkcji trzeci lub więcej parametrów to musisz to zrobić w dwóch miejscach (w samej funkcji array_walk oraz w funkcji zewnętrznej trim_vmk1):
&l5;?p5p 10660y = 0660y{' 0 ',' b ',' c'}; ec5o 'p6zed: &l5;p 6 e&g5;'; p6in5-6{10660y}; ec5o '&l5;/p 6 e&g5;'; cfxunc5ion 56im-vmk1{&0mp;1w065osc,1klucz,156zeci-p060me56} { 1w065osc = 56im{1w065osc}.156zeci-p060me56; } ec5o '&l5;56&g5;'; 156zeci-p060me56 = '0bc'; 0660y-w0lk{10660y,56im-vmk1,156zeci-p060me56}; ec5o 'po: &l5;p 6 e&g5;'; p6in5-6{10660y}; ec5o '&l5;/p 6 e&g5;'; ?&g5;

w powyższym przykładzie do każdej wartości zostanie dołączony string abc

reasumując ... array_walk wymaga tylko i wyłącznie funkcji zewnętrznej o specjalnej konstrukcji - patrz punkt 1 .... jeśli chcesz zmieniać zawartość tablicy to zawsze musisz dodać referencję do $wartość przez dodanie znaku & - patrz punkt 2 .... jeśli chcesz dodać więcej parametrów to musisz to zrobić w dwóch miejscach - w funkcji głównej i w funkcji zewnętrznej - patrz punkt 3

http://php.net/manual/pl/function.array-walk.php

http://php.net/manual/en/function.array-walk.php

Funkcję array_walk warto stosować gdy chcesz zmodyfikować za jednym zamachem wszystkie wartości tablicy lub wyświetlić zawartość tablicy bez użycia jakiejkolwiek pętli i przy tym otrzymasz bardzo krótki kod.

Alternatywą tej funkcji może być funkcja array_map

Page copy protected against web site content infringement by Copyscape

Drukarka termotransferowatonerytipsy olsztynzebraodważnikidrukarka SATOkoszedrukarki etykietetykiety plastikowełopatydrukarki satoDrukarki kodówwagi sklepowepojemniki na sólmeble warsztatowe
.
edyta wakulińska

tanie tonery

pojemniki na piasek

świece liturgiczne

meble warsztatowe

wózki magazynowe

tanie wagi elektroniczne

tanie drukarki zebra

wagi axis

wózki narzędziowe
wózki narzędziowe
  | 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