Popularnost php implode podrazumijeva njegovu izvanrednu korisnost i mnoge prednosti čak i prije uobičajenog ulančavanja nizova. On pruža dovoljnu fleksibilnost za kodiranje i svestranu uporabu.
Značajke programiranja pri korištenju ulančavanja nizova
$ hostname = "localhost";
$ username = "root";
$ password = "";
$ dbname = "my_database";
$ usertable = "my_table";
$ yourfield = "proizvod";
$ con = mysqli_connect ($ hostname, $ username, $ password);
mysqli_select_db ($ con, $ dbname);
mysqli_set_charset ($ con, "utf8");
$ query = "SELECT * FROM $ usertable";
$ result = mysqli_query ($ con, $ query);
mysqli_close ($ con);
Sadržaj baze podataka:
& lt ;! - fb_336x280_1 - & gt;
& lt; skripta & gt; (adsbygoogle = window.adsbygoogle || []). push ({});
Prvo, prikupit ćemo obrazac koristeći uobičajeno ulančavanje linija:
$ form = ";
$ form. = '';
Za takvu metodu je potreban strog slijed zapisa, ako je potrebno zamijeniti jedan red s drugim, potrebno je prepisati kod.
& lt ;! - fb_336x280_2 - & gt;
& lt; skripta & gt; (adsbygoogle = window.adsbygoogle || []). push ({});
U tablici vidimo informacije o proizvodu dobivene iz baze podataka:
U ovom obliku teško je utvrditi koja roba naručiti i prodati, tako da ulančavanje nije prikladno za velike količine informacija.
Fleksibilnost i višedimenzionalnost korištenja funkcije implode ()
Pišući niz u nizu, a zatim ga kombinirajući s php implodom, dobivamo znatno više varijanti pisanja koda.
Ponovno ćemo napisati naš kod: uklonit ćemo ulančavanje, umjesto njega linije će biti dodane u polje i sakupljene pomoću funkcije implode ():
$ form = ";
$ form. 91) ';
if ($ result) {
dok ($ row = mysqli_fetch_assoc ($ result)) {
foreach ($ row kao $ key_product = & gt; $ value_product) {
$ form_product [$ key_product] = ";
if ($ key_product & gt; = 38) {
ako ($ value_product == 1) {
$ form_product [$ key_product] = " prodaja _" $ row [" id ']. $ key_product.' '& gt; Prodaj.' $ row ['proizvod']. ' - '. $ row [' model '].' - '. $ row [' color '].' - '. $ key_product.': '. $ value_product.
';
$ form_product [$ key_product] = "
";
} inače ako ($ value_product == 0) {
$ form_product [$ key_product] = "
";
} else {
$ form_product [$ key_product] = "
";
}
} else {
$ form_product [$ key_product] = $ key_product. ":". $ Value_product. "
";
}
$ form_row [$ row ['id']] = implode (", $ form_product);
}
}
}
echo $ form = implode (" , $ form_row). '';
Pretpostavimo da trebamo još jednu posebnu tablicu za menadžere u kojoj bi ćelije "Red" i "Sell" trebale biti odvojene. Zahvaljujući implodiranju php polja, možemo manipulirati nizovima. Dodajte dodatne nizove i stvorite drugi obrazac:
& lt; script type = "text /javascript" & gt;
može blockSettings2 = {blockId: "R-A-70350-39", renderTo: "yandex_rtb_R-A-70350-39", async: 0};
ako (document.cookie.indexOf ("abmatch ="))> 0) blockSettings2.statId = 70350;
Funkcija (a, b, c, d, e) {a [c] = a [c] || [], a [c] .push (funkcija () {Ya.Context.AdvManager.render (blockSettings2)}), e = b.getElementsByTagName ("script") , d = b.createElement ("script"), d.type = "text /javascript", d.src = "//an.yandex .ru /system /context.js ", d.async =! 0e.parentNode.insertBefore (d, e)} (ovaj, ovaj.dokument," yandexContextAsyncCallbacks ");
$ form_sklad = 'Sastav';
$ sale = array ();
$ zakaz = array ();
$ form_sklad. = '';
Skupljamo iste retke u drugom obliku ($ form_sklad). "Red" nalazi se u nizu$ zakaz, i "sell" - u polju $ sale. Prema tome, svaka jedinica proizvoda će se nalaziti u polju $ sale ili $ zakaz. Jedinica robe je jedan par cipela određene veličine (od 38 do 42). Jedan red ($ row ['id'] u bazi podataka sadrži proizvode istog modela, ali različitih veličina, tako da onda kombiniramo s php implode sve jedinice proizvoda jednog modela u nizovima $ form_row_zakaz i $ form_row_sale.Ako postoji jedan par cipela jedna veličina, tada će se takav proizvod pojaviti u nizu $ zakaz (proizvod je gotov) iu polju $ sale (prodati posljednji par ove veličine).
& lt; script type = "text /javascript" & gt;
može blockSettings3 = {blockId: "RA-70350-44", renderTo: "yandex_rtb_R-A-70350-44", async: 0};
if (document.cookie.indexOf ("abmatch") = ")> = 0) blockSettings3.statId = 70350;
! Funkcija (a, b, c, d, e) {a [c] = a [c] || [], a [c]. push (funkcija () {Ya.Context.AdvManager.render (blockSettings3) }), e = b.getElementsByTagName ("skripta") , d = b.createElement ("script"), d.type = "text /javascript", d.src = "//an.yandex.ru /system/context.js ", d.async =! 0e.parentNode.insertBefore (d, e)} (ovo, ovaj.dokument," yandexContextAsyncCallbacks ");
Dakle, nema potrebe stvarati novi ciklus i ponovno pisati redove.
Sve izgleda ovako:
$ form = ";
$ form_sklad = 'Sastav';
$ sale = array (); = array ();
$ form. = '