PHP podporuje skalárne a kompozitné dátové typy. V tomto článku budeme diskutovať o jednom z kompozitných typov: poliach. Pole je kolekcia údajových hodnôt organizovaná ako usporiadaná množina párov kľúč – hodnota.
Tento článok hovorí o vytváraní poľa, pridávaní položiek do poľa. Existuje mnoho vstavaných funkcií, ktoré pracujú s poľami PHP, pretože polia sú bežné a užitočné na použitie. Napríklad, ak chcete poslať e-mail na viac ako jednu e-mailovú adresu, môžete e-mailové adresy uložiť do poľa a potom prechádzať cez pole a odosielať správy na e-mailovú adresu prevzatú z poľa.
Indexované a asociatívne polia
V PHP existujú dva druhy polí: indexované a asociatívne. Kľúče indexovaného poľa sú celé čísla začínajúce od 0. Indexované polia sa používajú, keď potrebujete konkrétnu pozíciu v poli. Asociatívne polia sa správajú ako dva stĺpce tabuľky. Prvý stĺpec je kľúč, ktorý sa používa na prístup k hodnote (druhý stĺpec).
PHP interne ukladá všetky polia ako asociatívne polia, takže jediný rozdiel medzi asociatívnymi a indexovanými poľami je v tom, že sa zobrazujú kľúče. Niektoré funkcie sú primárne určené na použitie s indexovanými poľami, pretože predpokladajú, že vaše kľúče sú sekvenčné celé čísla začínajúce od 0. V oboch prípadoch sú kľúče jedinečné – to znamená, že nemôžete mať dva prvky s rovnakým kľúčom, bez ohľadu na to, či kľúč je reťazec alebo celé číslo.
V PHP polia majú vnútorné usporiadanie prvkov, ktoré je nezávislé od kľúčov a hodnôt, a existujú funkcie, ktoré môžete použiť na prechádzanie poľami na základe tohto vnútorného poradia.
Definovanie prvkov v poli
Ku konkrétnym hodnotám z poľa môžete pristupovať pomocou názvu poľa, za ktorým nasleduje kľúč prvku (niekedy nazývaný index) v hranatých zátvorkách:
$ vek ["Fred"]; $ ukazuje;
Kľúčom môže byť reťazec alebo celé číslo. Hodnoty reťazca ako čísla (bez úvodných núl) sa považujú za celé čísla. teda $ pole a $ pole [‘3’] odkazujú na rovnaký prvok, ale $ pole ['03'] odkazuje na iný prvok. Ako kľúče možno použiť aj záporné čísla, ale neurčujú pozície od konca poľa, ako napr Perl.
Kľúč nie je potrebné uzatvárať do úvodzoviek. Napríklad, $ pole [‚Fred‘] Páči sa mi to $ Arrat. Stále považovaný za dobrý štýl PHP vždy používajte úvodzovky. Ak je index bez úvodzoviek, PHP používa konštantnú hodnotu ako index:
Definuj ("index", 5); pole echo $; // vráti pole $, nie pole $ ["index"];
Ak chcete nahradiť číslo do indexu, musíte urobiť toto:
$ vek ["Klonovať číslo $"]; // vráti napríklad $ vek ["Clone5"];
Neuvádzajte však kľúč do úvodzoviek v nasledujúcom prípade:
// chybná tlač "Dobrý deň, $ osoba [" meno "]"; vytlačiť "Dobrý deň, $ osoba [" meno "]"; // správna tlač "Ahoj, $ osoba";
Ukladanie údajov do polí
Keď sa pokúsite uložiť hodnotu do poľa, pole sa automaticky vytvorí, ak predtým neexistovalo, ale keď sa pokúsite získať hodnotu z poľa, ktoré nebolo definované, pole sa nevytvorí. Napríklad:
// $ adresy doteraz neboli definované echo $ adresy; // nič sa neozýva $ adresy; // nič $ adresy = " [e-mail chránený]"; echo $ adresy; // tlač" Pole "
Na inicializáciu poľa v programe môžete použiť jednoduché priradenie:
$ adresy = " [e-mail chránený]"; $ adresy =" [e-mail chránený]"; $ adresy =" [e-mail chránený]"; // ...
Deklarovali sme pole indexov s celočíselnými indexmi začínajúcimi od 0.
Asociatívne pole:
$ cena ["Tesnenie"] = 15,29; $ cena ["Koleso"] = 75,25; $ cena ["pneumatika"] = 50,00; //...
Jednoduchší spôsob inicializácie poľa je použiť konštrukt Pole () ktorý vytvorí pole zo svojich argumentov:
$ adresy = pole (" [e-mail chránený]", "[e-mail chránený]", "[e-mail chránený]");
Na vytvorenie asociatívneho poľa pomocou Pole (), použitie => znak oddeľujúci indexy od hodnôt:
$ cena = pole ("Tesnenie" => 15,29, "Koleso" => 75,25, "Pneumatika" => 50,00);
Dávajte pozor na využitie medzier a zarovnanie. Kód by sme mohli zoskupiť, ale toto by bolo menej popisné:
$ cena = pole ("Tesnenie" => 15,29, "Koleso" => 75,25, "Pneumatika" => 50,00);
Ak chcete vytvoriť prázdne pole, musíte zavolať konštrukciu Pole ()žiadne argumenty:
$ adresy = Pole ();
Môžete zadať štartovací kľúč v poli a potom zoznam hodnôt. Hodnoty sa zadávajú do poľa, začínajúc kľúčom a potom sa zvyšujú:
$ dní = pole (1 => "pondelok", "utorok", "streda", "štvrtok", "piatok", "sobota", "nedeľa"); // 2 je utorok, 3 je streda atď.
Ak je počiatočný index reťazec, nasledujúce indexy sa stanú celými číslami začínajúcimi od 0. Nasledujúci kód je teda pravdepodobne chybou:
$ whoops = pole ("piatok" => "čierna", "hnedá", "zelená"); // rovnaké ako $ whoops = pole ("piatok" => "čierna", 0 => "hnedá", 1 => "zelená");
Pridanie nového prvku na koniec poľa
Ak chcete vložiť viacero hodnôt na koniec existujúceho indexovaného poľa, použite syntax:
$ rodina = pole ("Fred", "Wilma"); // $ rodina = "Fred" $ rodina = "Kamienky"; // $ rodina = "Kamienky"
Táto konštrukcia predpokladá, že indexy poľa sú čísla a priraďuje prvku ďalší dostupný číselný index začínajúci na 0. Pokúšať sa pridať prvok do asociatívneho poľa je takmer vždy chybou programátora, ale PHP pridá nové prvky s číselnými indexmi (začínajúcimi od 0) bez varovania:
$ osoba = pole ("meno" => "Fred"); // $ osoba ["meno"] = "Fred"; $ osoba = "Wilma"; // $ osoba = "Wilma"
V tejto fáze ukončíme úvodnú časť práce s poľami v PHP. Čakám na vás v ďalšom článku.
Pridávanie položiek do poľa
Ak pole existuje, možno doň pridať ďalšie prvky. Toto sa vykonáva priamo pomocou operátora priradenia (rovná sa) rovnakým spôsobom ako pri priraďovaní hodnoty reťazcu alebo číslu. V tomto prípade nemusíte špecifikovať kľúč pridaného prvku, no v každom prípade sa pri prístupe k poli vyžadujú hranaté zátvorky. Pridaním dvoch nových položiek do zoznamu $ napíšeme:
$ Zoznam = "hrušky";
$ Zoznam = "paradajky";
Ak nie je zadaný žiadny kľúč, každý prvok sa pridá do existujúceho poľa a indexuje sa nasledujúcim poradovým číslom. Ak do poľa z predchádzajúcej časti pridáme nové prvky, ktorých prvky mali indexy 1, 2 a 3, potom hrušky budú mať index 4 a paradajky 5. Keď index explicitne nastavíte a hodnota s ním je už existuje, potom sa existujúca hodnota na tomto mieste stratí a nahradí sa novou:
$ Zoznam = "hrušky";
$ Zoznam = "paradajky";
Teraz je hodnota prvku na indexe 4 "paradajky" a prvok "pomaranče" tam už nie je. Pri pridávaní prvkov do poľa by som vám odporučil nešpecifikovať kľúč, pokiaľ samozrejme nechcete konkrétne prepísať akékoľvek existujúce údaje. Ak sa však reťazce používajú ako indexy, kľúče musia byť špecifikované, aby sa nestratili hodnoty.
Pokúsime sa pridať nové prvky do poľa prepísaním skriptu soups.php. Po prvé, vytlačením pôvodných prvkov poľa a potom pôvodných prvkov spolu s pridanými, môžeme ľahko vidieť zmeny, ku ktorým došlo. Rovnako ako môžete zistiť dĺžku reťazca (počet znakov, ktoré obsahuje) pomocou funkcie strlen (), je tiež jednoduché určiť počet prvkov v poli pomocou funkcie count ():
$ Koľko = počet ($ Array);
- Otvorte súbor soups.php v textovom editore.
- Po inicializácii poľa pomocou funkcie poľa () pridajte nasledujúci záznam: $ Koľko = počet ($ Polievky);
- Pridajte tri ďalšie prvky do poľa. $ Polievky ["Thursday"] = "Kuracie rezance";
- Prepočítajte prvky v poli a vytlačte túto hodnotu. $ HowManyNow = počet ($ Polievky);
- Uložte skript (výpis 7.2), nahrajte ho na server a otestujte ho v prehliadači (obrázok).
print („Pole obsahuje $ HowMany prvkov.
\ n ");
Funkcia count () určí, koľko prvkov je v poli $ Sops. Priradením tejto hodnoty k premennej ju môžete vytlačiť.
$ Polievky ["piatok"] = "paradajka";
$ Polievky ["sobota"] = "brokolicový krém";
print („Pole teraz obsahuje prvky $ HowManyNow.
\ n ");
Výpis 7.2 Do poľa môžete priamo pridať jeden prvok po druhom priradením hodnoty každému prvku pomocou príslušného operátora. Pomocou funkcie count () možno zistiť, koľko prvkov je v poli.
1
2
3
4
5 6 $ Polievky = pole (
7 "Pondelok" => "Polievka z mušlí",
8 "Utorok" => "Biele kuracie čili",
9 "Streda" => "Vegetariánska");
11 print („Pole obsahuje $ HowMany
prvkov.
\ n ");
12 $ Polievky ["Thursday"] = "Kuracie rezance";
13 $ Polievky ["piatok"] = "paradajka";
14 $ Polievky ["Saturday"] = "Smotana z
Brokolica";
15 $ HowManyNow = počet ($ Polievky);
16 print („Pole teraz obsahuje
$ HowManyNow elemente.
\ n ");
17 ?>
18
19
PHP 4.0 predstavuje novú funkciu, ktorá vám umožňuje pridať jedno pole do druhého. Túto operáciu možno nazvať aj zlučovaním alebo spájaním polí. Funkcia array_merge () sa volá takto:
$ NewArray = array_merge ($ OneArray, $ TwoArray);
Pomocou tejto funkcie môžete prepísať stránku soups.php, ak používate server s nainštalovaným PHP 4.0.
Kombinácia dvoch polí
- Otvorte súbor soups.php v textovom editore, ak ešte nie je otvorený.
- Po inicializácii poľa $ Sops spočítajte jeho prvky a vytlačte výsledok. $ Koľko = počet ($ Polievky);
- Spojte dve polia do jedného. $ TheSoups = array_merge ($ Soups, $ Soups2);
- Spočítajte prvky nového poľa a vytlačte výsledok. $ HowMany3 = počet ($ TheSoups);
- Zatvorte dokument PHP a HTML. ?>
- Uložte súbor (výpis 7.3), nahrajte ho na server a otestujte ho v prehliadači (obrázok).
print („Pole $ Polievky obsahuje prvky $ HowMany.
\ n ");
- Vytvorte druhé pole, spočítajte jeho prvky a vytlačte aj výsledok.
"Štvrtok" => "Kuracie rezance",
"Piatok" => "Paradajka",
"Sobota" => "Brokolicový krém");
$ HowMany2 = počet ($ Polievky2);
print („Pole $ Soups2 obsahuje prvky $ HowMany2.
\ n ");
Uistite sa, že polia sú v tomto poradí ($ Polievky, potom $ Polievky2), to znamená, že prvky štvrtok a piatok by sa mali pridať k prvkom stredajší pondelok a nie naopak.
print („Pole $ TheSoups obsahuje
- $ Koľko3 prvkov.
\ n ");
Výpis 7.3 Funkcia Array_merge () je nová. Toto je jedna z niekoľkých ďalších funkcií PHP 4.0 na prácu s poľami. Používanie polí vám môže ušetriť veľa času.
1
2
3
4
5 6 $ Polievky = pole!
7 "Pondelok" => "Polievka z mušlí",
"Utorok" => "Biele kuracie čili",
8 "Streda" => "Vegetariánska"
9);
10 $ Koľko = počet ($ Polievky);
11 tlač („Pole $ Polievky obsahuje prvky $ HowMany.
\ n ");
12 $ Polievky2 = pole (
13 "Štvrtok" => "Kuracie rezance",
14 "Piatok" => "Tomato",
15 "Sobota" => "Brokkolicový krém"
16); .
17 $ Koľko2 = počet ($ Polievky2);
18 tlač („Pole $ Soups2 obsahuje prvky $ HowMany2.
\ n ");
19 $ TbeSoupe = array_merge ($ Polievky, $ Polievky2);
20 $ HowMany3 = počet ($ TheSoups);
21 tlač („Pole $ TheSoups obsahuje prvky $ HowMany3.
\ n ");
22 ?> "
23
24
Pri priamom pridávaní prvkov do poľa buďte opatrní. Správny spôsob, ako to urobiť, je: $ Ar ray = "Add This"; $ Aggau = "Pridať toto"; ale je to správne takto: $ Aggau = "Pridať toto" ;. Ak zabudnete vložiť zátvorky, pridaná hodnota zničí existujúce pole a zmení ho na jednoduchý reťazec alebo číslo.
PHP 4.0 má niekoľko nových funkcií pre prácu s poľami. Nie všetky sú v knihe zahrnuté. Úplné informácie o tejto téme sú však obsiahnuté v príručke jazyka PHP, ktorú možno nájsť na webovej stránke PHP. Dávajte pozor, aby ste nepoužívali nové funkcie jedinečné pre PHP 4.0, ak váš server používa PHP 3.x.
Pozrime sa na spôsoby zápisu hodnôt do poľa. Existujúce pole je možné upraviť explicitným nastavením hodnôt v ňom. To sa vykonáva priradením hodnôt do poľa.
Priradenie k prvku poľa vyzerá rovnako ako priradenie k premennej, s výnimkou hranatých zátvoriek (), ktoré sa pridávajú za názov premennej poľa. Index / kľúč prvku je uvedený v hranatých zátvorkách. Ak nie je zadaný žiadny index / kľúč, PHP automaticky vyberie najmenší neobsadený číselný index.
"nula", 1 => "jedna"); $ my_arr = "dva"; $ my_arr = "tri"; var_dump ($ my_arr); // priradenie bez zadania indexu / kľúča $ my_arr = "štyri"; $ my_arr = "päť"; ozvena"
"; var_dump ($ my_arr);?>
Ak chcete zmeniť konkrétnu hodnotu, stačí priradiť novú hodnotu k už existujúcemu prvku. Ak chcete odstrániť akýkoľvek prvok poľa s jeho indexom/kľúčom alebo úplne odstrániť samotné pole, použite funkciu unset ():
Poznámka: ako je uvedené vyššie, ak je prvok pridaný do poľa bez zadania kľúča, PHP automaticky použije predchádzajúcu najväčšiu celočíselnú hodnotu kľúča zvýšenú o 1. Ak v poli ešte nie sú žiadne celočíselné indexy, kľúč bude 0 (nula).
Všimnite si, že najväčšia celočíselná hodnota kľúča nemusí v súčasnosti nevyhnutne existovať v poli, môže to byť spôsobené odstránením prvkov poľa. Po odstránení prvkov sa pole nepreindexuje. Aby to bolo jasnejšie, uveďme si nasledujúci príklad:
"; print_r ($ my_arr); // Pridajte položku (všimnite si, že nový kľúč bude 3 namiesto 0). $ my_arr = 6; echo"
"; print_r ($ my_arr); // Preindexovanie: $ my_arr = array_values ($ my_arr); $ my_arr = 7; echo"
"; print_r ($ my_arr);?>
Tento príklad používa dve nové funkcie, print_r () a array_values (). Funkcia array_values () vracia indexované pole (opätovne indexuje vrátené pole pomocou číselných indexov) a funkcia print_r funguje ako var_dump, ale výstupy polí sú čitateľnejšie.
Teraz môžeme zvážiť tretí spôsob vytvárania polí:
Príklad ukázal tretí spôsob vytvorenia poľa. Ak pole $ pracovných dní ešte nebolo vytvorené, vytvorí sa. Tento typ vytvárania poľa sa však neodporúča, pretože ak premenná $ weekdays už bola vytvorená a obsahuje hodnotu, môže to viesť k neočakávaným výsledkom zo skriptu.
Ak máte nejaké pochybnosti o tom, či premenná je pole, použite funkciu is_array. Validáciu je možné vykonať napríklad takto:
"; $ no =" bežný reťazec "; echo is_array ($ no)?" Pole ":" Nie je pole ";?>
pole_pad
Pridá do poľa viacero prvkov.
Syntax:
Array array_pad (vstup poľa, int pad_size, zmiešaná hodnota pad_value)
Array_pad () vracia kópiu vstupného poľa, do ktorého boli pridané prvky s pad_values, takže počet prvkov vo výslednom poli sa rovná pad_size.
Ak veľkosť pad_size> 0, prvky sa pridajú na koniec poľa a ak<0 - то в начало.
Ak je hodnota pad_size menšia ako prvky v pôvodnom vstupnom poli, nedôjde k žiadnemu sčítaniu a funkcia vráti pôvodné vstupné pole.
Príklad použitia funkcie array_pad ():
$ arr = pole (12, 10, 4);
$ vysledok = array_pad ($ arr, 5, 0);
// $ vysledok = pole (12, 10, 4, 0, 0);
$ vysledok = pole_pad ($ arr, -7, -1);
// $ výsledok = pole (-1, -1, -1, -1, 12, 10, 4)
$ vysledok = array_pad ($ arr, 2, "noop");
// nepridá
array_map
Aplikácia vlastnej funkcie na všetky prvky zadaných polí.
Syntax:
Pole array_map (zmiešané spätné volanie, pole arr1 [, pole ...])
Funkcia array_map () vracia pole, ktoré obsahuje prvky všetkých zadaných polí po spracovaní vlastnou funkciou spätného volania.
Počet parametrov odovzdaných používateľom definovanej funkcii sa musí zhodovať s počtom polí odovzdaných funkcii array_map ().
Príklad použitia funkcie array_map (): Spracovanie jedného poľa
návrat $ n * $ n * $ n;
}
$ a = pole (1, 2, 3, 4, 5);
$ b = mapa_pola ("kocka", $ a);
print_r ($ b);
?>
Pole (
=> 1
=> 8
=> 27
=> 64
=> 125
)
Príklad použitia funkcie array_map (): Spracovanie viacerých polí
return "Číslo $ n v španielčine je $ m";
}
function map_spanish ($ n, $ m) (
návratové pole ($ n => $ m);
}
$ a = pole (1, 2, 3, 4, 5);
$ b = pole ("uno", "dos", "tres", "cuatro", "cinco");
$ c = array_map ("show_Spanish", $ a, $ b);
print_r ($ c);
$ d = mapa_pola ("map_Spanish", $ a, $ b);
print_r ($ d);
?>
Vyššie uvedený príklad zobrazí nasledovné:
// výtlačok $ cArray (
=> Číslo 1 v španielčine je uno
=> Číslo 2 v španielčine je dos
=> Číslo 3 v španielčine je tres
=> Číslo 4 v španielčine je cuatro
=> Číslo 5 v španielčine je cinco
)
// výtlačok $ dArray (
=> Pole
=> uno
)
=> Pole
=> dos
)
=> Pole
=> tres
)
=> Pole
=> cuatro
)
=> Pole
=> cinco
)
Zvyčajne sa funkcia array_map () aplikuje na polia rovnakej dimenzie. Ak majú polia rôznu dĺžku, menšie sú vyplnené prvkami s prázdnymi hodnotami.
Treba poznamenať, že ak zadáte null namiesto názvu funkcie spracovania, vytvorí sa pole polí.
Príklad použitia funkcie array_map (): Vytvorenie poľa polí
$ b = pole ("jeden", "dva", "tri", "štyri", "päť");
$ c = pole ("uno", "dos", "tres", "cuatro", "cinco");
$ d = mapa_pola (null, $ a, $ b, $ c);
print_r ($ d);
?>
Vyššie uvedený príklad zobrazí nasledovné:
Pole (
=> Pole
=> 1
=> jeden
=> uno
)
=> Pole
=> 2
=> dva
=> dos
)
=> Pole
=> 3
=> tri
=> tres
)
=> Pole
=> 4
=> štyri
=> cuatro
)
=> Pole
=> 5
=> päť
=> cinco
)
Funkcia podporovaná PHP 4> = 4.0.6, PHP 5
array_pop
Načíta a odstráni posledné prvky poľa.
Syntax:
Mixed array_pop (array arr);
Funkcia array_pop () načíta posledný prvok z poľa arr a vráti ho a potom ho odstráni. Pomocou tejto funkcie môžeme vytvárať štruktúry, ktoré pripomínajú zásobník. Ak bolo pole arr prázdne, alebo ak to nie je pole, funkcia vráti prázdny reťazec NULL.
Po použití funkcie array_pop () sa kurzor poľa nastaví na začiatok.
Príklad použitia funkcie array_pop ():
$ fruit = array_pop ($ stack);
print_r ($ stack);
print_r ($ ovocie);
?>
Príklad vypíše nasledovné:
Pole (
=> oranžová
=> banán
=> jablko
)
Funkciu podporujú PHP 4, PHP 5
array_push
Pridá jeden alebo viac prvkov na koniec poľa.
Syntax:
Int array_push (array arr, mixed var1 [, mixed var2, ..])
Array_push () pridá var1, var2 atď. do arr. Priraďuje im číselné indexy – rovnako ako pri štandardných.
Ak potrebujete pridať iba jeden prvok, môže byť jednoduchšie použiť tento operátor:
Array_push ($ Arr, 1 000); // volanie funkcie $ Arr = 100; // to isté, ale kratšie
Príklad použitia funkcie array_push ():
array_push (zásobník $, "jablko", "malina");
print_r ($ stack);
?>
Príklad vypíše nasledovné:
Pole (
=> oranžová
=> banán
=> jablko
=> malina
)
Všimnite si, že array_push () berie pole ako zásobník a vždy pridáva prvky na jeho koniec.
Funkciu podporujú PHP 4, PHP 5
array_shift
Načíta a odstráni prvý prvok v poli.
Syntax:
Zmiešaný array_shift (array arr)
Funkcia Array_shift () získa prvý prvok poľa arr a vráti ho. Veľmi sa podobá array_pop (),
prijme však iba počiatočný, nie konečný prvok, a tiež spôsobí pomerne silný „otras“ celého poľa: koniec koncov, pri extrakcii prvého prvku musíte upraviť všetky číselné indexy všetkých zostávajúcich prvkov. , odkedy všetky nasledujúce prvky poľa sú posunuté o jednu pozíciu dopredu. Kľúče reťazca poľa sa nezmenia.
Ak je arr prázdne alebo nejde o pole, funkcia vráti hodnotu NULL.
Po použití tejto funkcie sa ukazovateľ poľa presunie na začiatok.
Príklad použitia funkcie array_shift ():
$ fruit = array_shift ($ stack);
print_r ($ stack);
?>
Tento príklad vypíše nasledovné:
Pole (
=> banán
=> jablko
=> malina
)
a premenná $ ovocie bude mať hodnotu "pomaranč"
Funkciu podporujú PHP 4, PHP 5
array_unshift
Pridá jednu alebo viac hodnôt na začiatok poľa.
Syntax:
Int array_unshift (zoznam arr, zmiešaná var1 [, zmiešaná var2, ...])
Array_unshift () pridá odovzdané hodnoty var na začiatok poľa arr. Poradie nových prvkov v poli sa zachová. Všetky číselné indexy poľa sa zmenia tak, aby začínalo od nuly. Všetky reťazcové indexy v poli sú nezmenené.
Funkcia vráti nový počet prvkov v poli.
Príklad použitia funkcie array_unshift ():
array_unshift (poradie $, "jablko", "malina");
?>
Teraz bude mať premenná $ queue tieto prvky:
Pole (
=> jablko
=> malina
=> oranžová
=> banán
)
Funkciu podporujú PHP 4, PHP 5
pole_unique
Odstráni duplicitné hodnoty v poli.
Syntax:
Array array_unique (array arr)
Array_unique () vráti pole všetkých jedinečných hodnôt v arr spolu s ich kľúčmi odstránením všetkých duplicitných hodnôt. Prvý nájdený pár kľúč => hodnota sa umiestni do výsledného poľa. Indexy sú uložené.
Príklad použitia funkcie array_unique ():
"zelená", "červená", "b" =>
"zelená", "modrá", "červená");
print_r ($ výsledok);
?>
Príklad vypíše nasledovné:
Pole (
[a] => zelená
=> červená
=> modrá
)
Príklad použitia funkcie array_unique (): Porovnanie typov údajov
$ vysledok = array_unique ($ vstup);
var_dump ($ výsledok);
?>
Príklad vypíše nasledovné:
Pole (2) (
=> int (4)
=> reťazec (1) "3"
}
Funkcia podporovaná PHP 4> = 4.0.1, PHP 5
array_chunk
Funkcia rozdelí pole na časti.
Syntax:
Array array_chunk (array arr, int size [, bool protect_keys])
Funkcia Array_chunk () rozdelí pôvodné pole arr na niekoľko polí, ktorých dĺžka je určená veľkosťou čísla. Ak rozmer pôvodného poľa nie je deliteľný časťami presnej veľkosti, posledné pole bude mať menší rozmer.
Funkcia array_chunk () vracia viacrozmerné pole, ktorého indexy začínajú od 0 do počtu prijatých polí a hodnoty sú polia získané v dôsledku rozdelenia.
Voliteľný parameter protect_keys určuje, či sa majú zachovať kľúče pôvodného poľa alebo nie. Ak je tento parameter nepravdivý (predvolená hodnota), potom budú indexy výsledných polí špecifikované ako čísla začínajúce od nuly. Ak je parameter pravdivý, kľúče pôvodného poľa sa zachovajú.
Príklad použitia funkcie array_chunk ():
$ pole = pole ("1. prvok",
"2. prvok",
"3. prvok",
"4. prvok",
"Piaty prvok");
print_r (pole_chunk (pole $, 2));
print_r (pole_chunk (pole $, 2, TRUE));
Príklad vypíše nasledovné:
Pole (
=> Pole
=> 1. prvok
=> 2. prvok
)
=> Pole
=> 3. prvok
=> 4. prvok
)
=> Pole
=> 5. prvok
)
)
Pole (
=> Pole
=> 1. prvok
=> 2. prvok
)
=> Pole
=> 3. prvok
=> 4. prvok
)
=> Pole
=> 5. prvok
)
Funkcia podporovaná PHP 4> = 4.2.0, PHP 5
pole_výplň
Funkcia vyplní pole konkrétnymi hodnotami.
Syntax:
Array array_fill (int start_index, int num, zmiešaná hodnota)
Funkcia array_fill () vracia pole, ktoré obsahuje hodnoty numerickej veľkosti špecifikované v parametri value, počnúc prvkom zadaným v parametri start_index.
Príklad použitia array_diff_uassoc ():
print_r ($ a);
?>
Príklad vypíše nasledovné:
Pole (
=> banán
=> banán
=> banán
=> banán
=> banán
=> banán
)
Funkcia podporovaná PHP 4> = 4.2.0, PHP 5
pole_filter
Funkcia aplikuje filter na pole pomocou vlastnej funkcie.
Syntax:
Array array_filter (vstup poľa [, spätné volanie])
Funkcia array_filter () vracia pole, ktoré obsahuje hodnoty vo vstupnom poli, filtrované podľa výsledkov vlastnej funkcie spätného volania.
Ak je pôvodné vstupné pole asociatívne pole, indexy sa uložia do výsledného poľa.
Príklad použitia funkcie array_filter ():
návrat ($ var% 2 == 1);
}
párna funkcia ($ var) (
návrat ($ var% 2 == 0);
}
$ pole1 = pole ("a" => 1, "b" => 2, "c" => 3, "d" => 4, "e" => 5);
$ pole2 = pole (6, 7, 8, 9, 10, 11, 12);
echo "Nepárne: n";
print_r (filter poľa ($ pole1, "nepárne"));
echo "Párne: n";
t_r (filter poľa ($ pole2, "párne"));
?>
Príklad vypíše nasledovné:
Nepárne: Pole (
[a] => 1
[c] => 3
[e] => 5
Even: Array (
=> 6
=> 8
=> 10
=> 12
)
Stojí za zmienku, že namiesto názvu funkcie filtrovania môžete zadať pole, ktoré obsahuje odkaz na objekt a názov metódy.
Za zmienku tiež stojí, že pri spracovaní poľa pomocou funkcie array_filter () ho nemožno zmeniť: pridať, odstrániť prvky alebo vynulovať pole, pretože môže to viesť k nesprávnemu fungovaniu funkcie.
Funkcia podporovaná PHP 4> = 4.0.6, PHP 5
Existuje mnoho funkcií a operátorov na konverziu polí v php: Zbierka funkcií pre prácu s poliami
Existuje niekoľko spôsobov, ako pridať pole do poľa pomocou php, a všetky môžu byť užitočné pre jednotlivé prípady.
"Operátor +"
Toto je jednoduchý, ale zložitý spôsob:
$ c = $ a + $ b
Toto pridá iba tie kľúče, ktoré ešte nie sú v poli $ a. V tomto prípade sú prvky pripojené na koniec poľa.
To znamená, že ak kľúč z poľa $ b chýba v poli $ a, potom sa do výsledného poľa pridá prvok s týmto kľúčom.
Ak pole $ a už obsahuje prvok s takýmto kľúčom, jeho hodnota zostane nezmenená.
Inými slovami, súčet sa mení od zmeny miesta výrazov: $ a + $ b! = $ B + $ a - to stojí za zapamätanie.
Teraz podrobnejší príklad na ilustráciu:
$ arr1 = ["a" => 1, "b" => 2]; $ arr2 = ["b" => 3, "c" => 4]; var_export ($ arr1 + $ arr2); // pole (// "a" => 1, // "b" => 2, // "c" => 4, //) var_export ($ arr2 + $ arr1); // pole (// "b" => 3, // "c" => 4, // "a" => 1, //)
Funkcia Array_merge ().
Túto funkciu môžete použiť nasledovne:
$ result = array_merge ($ arr1, $ arr2)
Resetuje číselné indexy a nahrádza reťazce. Skvelé na zreťazenie dvoch alebo viacerých číselne indexovaných polí:
Ak majú vstupné polia rovnaké reťazcové kľúče, potom každá nasledujúca hodnota nahradí predchádzajúcu. Ak však polia majú rovnaké číselné klávesy, posledná uvedená hodnota nenahradí pôvodnú hodnotu, ale pripojí sa na koniec poľa.
Funkcia Array_merge_recursive
Robí to isté ako array_merge, ale tiež rekurzívne iteruje cez každú vetvu poľa a robí to isté s potomkami.
Funkcia Array_replace ().
Nahrádza prvky poľa prvkami iných odovzdaných polí.
Funkcia Array_replace_recursive ().
Rovnako ako array_replace spracováva iba všetky vetvy poľa.
Hodnota avatarov v psychológii
Hodnota avatarov v psychológii
Ako zdôrazniť písmeno v MS Word
Čo to znamená, ak je avatar osoby
Ako si vytvoriť svoj vlastný Twitter moment