Popularita php implode znamená její mimořádnou užitečnost a mnoho výhod ještě před obvyklým zřetězením řetězců. Poskytuje dostatečnou flexibilitu pro kódování a všestranné použití.
Funkce programování pomocí metody zřetězení
$ hostname = "localhost";
$ username = "root";
$ heslo = "";
$ dbname = "my_database";
$ usertable = "my_table";
$ yourfield = "produkt";
$ con = mysqli_connect ($ název hostitele, $ username, $ heslo);
mysqli_select_db ($ con, $ dbname);
mysqli_set_charset ($ con, "utf8");
$ dotaz = "SELECT * FROM $ usertable";
$ výsledek = mysqli_query ($ con, $ dotaz);
mysqli_close ($ con);
databáze Obsah
<- fb_336x280_1 ->
& lt; script & gt; (adsbygoogle = window.adsbygoogle || []) stisknout ({});
Za prvé, shromažďovat formu běžnými zřetězení řetězců
$ tvoří = „;.
$ tvaru = '";
Tato metoda vyžaduje dodržování přísného vstupním pořadí v případě potřeby nahradit jeden řádek do druhého, musíte přepsat kód.
<- fb_336x280_2 ->
& lt; script & gt; (adsbygoogle = window.adsbygoogle || []) stisknout ({});
V tabulce vidíme informace o produktu obdržené z databáze
V této formě je obtížné zjistit, co výrobek na zakázku, a které se prodávají, protože zřetězení není vhodný pro velké množství informací.
Pružnost a Multivariate funkce implodovala ()
Psaní pole řetězců a jejich kombinování pomocí php implodovat, dostaneme mnohem více možností, jak psát kód.
přepsat náš kód: odebrat zřetězení místo její linie budou zahrnuty v matici a obsahuje funkce implozi ().
$ forma = „,
$ form =‚";
Předpokládejme, že je třeba další samostatnou tabulku pro manažery, kde buňky „řádu“ a „prodej“ by měly být odděleny. Díky phpl array implode můžeme manipulovat s řetězci. Přidat další pole a vytvořit jinou formu:
, & lt; script type = "text /javascript" & gt;
var blockSettings2 = {blockId: "R-A-70350 - 39", renderTo "yandex_rtb_R-A-70350 - 39", async :! 0};
, pokud (document.cookie.indexOf ("abmatch =") větší nebo rovno 0) blockSettings2.statId = 70350;
! Funkce (a, b, c, d, e) {a [c] = a [c] || [], a [c] .push (funkce () {Ya.Context.AdvManager.render (blockSettings2)}), e = b.getElementsByTagName ("scénář") , d = b.createElement ("scénář"), d.type = "text /javascript", d.src = „//an.yandex .ru /systém /context.js "d.async = 0e.parentNode.insertBefore (d, e)} (to, this.document,!" yandexContextAsyncCallbacks „);
$ form_sklad = 'Složení';
$ prodej = array ();
$ zakaz = array ();
$ form_sklad. = '";
shromažďuje stejné řádky v druhé formě ($ form_sklad). "Order" je umístěn v poli$ zakaz a "sell" - v poli prodeje $. V důsledku toho bude každá jednotka produktu buď v prodejním poli $ nebo $ zakaz. Jednotkou zboží je jedna dvojice obuvi o určité velikosti (od 38 do 42). One series ($ row [‚id‘] databáze obsahuje zboží stejného modelu, ale různé velikosti, takže pak spojit pomocí php implodovat všechny jednotkovou cenu jednoho modelu do pole $ form_row_zakaz a form_row_sale $. Jestliže tam byl jeden pár bot jedna velikost, pak se produkt bude stejně jako v poli $ zakaz (produkt končí) a pole $ prodeje (prodáván poslední dvojice velikosti)
. & lt; script type = "text /javascript" & gt;
var blockSettings3 = {blockId: "RA-70350-44", renderTo "yandex_rtb_R-a-70350 - 44", async :! 0},
, pokud (document.cookie.indexOf („abmatch = „) & gt;! = 0) blockSettings3.statId = 70350,
, funkce (a, b, c, d, e) {a [c] = a [c] || [], a [c]. Push (funkce () {Ya.Context.AdvManager.render (blockSettings3) }), E = b.getElementsByTagName ("scénář") , d = b.createElement ("scénář"), d.type = "text /javascript", d.src = „//an.yandex.ru /system/context.js",d.async=!0e.parentNode.insertBefore(d,e)}(this,this.document,"yandexContextAsyncCallbacks „),
Není tedy třeba vytvářet další cyklus a přepisovat linky znovu a znovu.
všechny dohromady, je následující:
$ forma = „
$ form_sklad = 'struktura',
$ prodej = array (),
$ zakaz = array ();.
$ form = '
Výsledkem je nová forma, kde se zboží objednat odděleně od zboží k prodeji
& scripts & gt; (adsbygoogle = window.adsbygoogle || [])
Můžeme vytvářet řetězce v libovolném pořadí a poté pomocí číselných indexů pole určit jejich sekvenci. Následující příklad ukazuje tento:.
, pokud ($ key_product === "vzor") {
$ produktu
= '' $ Value_product ".";
} else if ($ key_product === "produkt") {
$ product
= ''. $ Value_product. '";
}
else if ($ key_product === 'pohlavími') {
, pokud ($ value_product === '1') {
$ produktu= ‚ muži";
} else {
$ product= ' žena ';
}
} else if ($ key_product === 'barva') {
$ produkt
= ''. $ Value_product. '";
}
ksort ($ produkt);
V tomto příkladu je linka vypočte takto: "Man - boty - model, - barva" Pokud změníte indexy, pak postupnostVýstup změna indexů je velmi snadná změna pořadí.
& lt; script type = "text /javascript" & gt;
var blockSettings = {blockId: "R-A-70350-45", renderTo: "yandex_rtb_R-A-70350-45", asynchronní :! 0};
, pokud (document.cookie.indexOf ("abmatch =") větší nebo rovno 0) blockSettings.statId = 70350;
! Funkce (a, b, c, d, e) {a [c] = a [c] || [], a [c] .push (funkce () {Ya.Context.AdvManager.render (blockSettings)}), e = b.getElementsByTagName ("scénář") , d = b.createElement ("scénář"), d.type = "text /javascript", d.src = „//an.yandex .ru /systém /context.js "d.async = 0e.parentNode.insertBefore (d, e)} (to, this.document,!" yandexContextAsyncCallbacks „);
v sobě spojuje prvky pole $ produktu pomocí php implodovat
$ form_row_product [$ řádek ['id']] = implodují ('', $ produkt);
, a pak odvodit stránku, na které je potřeba:
echo $ form_row_product_string = implodují ('
', $ form_row_product);
Kombinace hodnoty vícerozměrná pole v řádcích pomocí zhroutí (), () a array_map array_column ()
pro všechny řádky v každém místě kód, vytvořit multidimenzionální pole $ row_product:
$ row_product [$ řádek ['id']] = $ produkt;
Nyní může způsobit, že hodnota pole pomocí array_map:
echo implozi ('', array_map (funkce (vstupní $) {
$ boty = array (vstup $
, vstup $ ),
$ shoes_string = implodují ('', $ boty),
vratné $ shoes_string
}, $ row_product));
Poslední příklad vytiskne všechny boty - muži nebo ženy, může také přinést barvu a všechny ostatní hodnoty z pole $ produktu.
Pokud máte jen jednu hodnotu $ row_product, můžete použít funkci array_column:
echo implozi (“, array_column ($ row_product, 3));
Tudíž funkce php implodovala poskytuje přístup k mnoha příležitostem na polích, což je užitečné pro manipulaci s daty a výstupních linek, které nás osvobodí od krutýsekvence řetězců zřetězení.
všechny kód:
$ hostname = "localhost";
$ username = "root";
$ heslo = "";
$ dbname = "my_database";
$ usertable = "my_table";
$ yourfield = "produkt";
$ con = mysqli_connect ($ název hostitele, $ username, $ heslo);
mysqli_select_db ($ con, $ dbname);
mysqli_set_charset ($ con, "utf8");
$ dotaz = "SELECT * FROM $ usertable";
$ výsledek = mysqli_query ($ con, $ dotaz);
mysqli_close ($ con);
$ forma = „
$ form_sklad = 'Structure',
$ prodej = array (),
$ zakaz = array (),
$ produkt = array () ,
$ row_product = array (),
$ form = '.
";
echo $ form_sklad. = Implodovat ("$ form_row_zakaz) .implode (" $ form_row_sale). " ';
echo $ form_row_product_string = implode ('
', $ form_row_product);
echo implodují ('', array_map (funkce (vstup $) {
$ obuv = array (vstup $
, vstup $ ),
$ shoes_string = implodují ("$ boty),
vratné $ shoes_string
}, $ row_product));
echo $ array_column = implodují (", array_column ($ row_product, 3));