Popularność implodu php implikuje jego niezwykłą użyteczność i wiele zalet nawet przed zwykłym łączeniem łańcuchów. Zapewnia wystarczającą elastyczność kodowania i wszechstronne zastosowanie.
Cechy programowania przy użyciu operacji konkatenacji
$ hostname = "localhost";
$ username = "root";
$ password = "";
$ dbname = "moja_bazy danych";
$ usertable = "my_table";
$ yourfield = "produkt";
$ con = mysqli_connect ($ nazwa hosta, $ nazwa użytkownika, $ hasło);
mysqli_select_db ($ con, $ dbname);
mysqli_set_charset ($ con, "utf8");
$ query = "SELECT * FROM $ usertable";
$ result = mysqli_query ($ con, $ query);
mysqli_close ($ con);
danych zawartości
& lt ;! - fb_336x280_1 - & gt;
& lt; skrypt & gt; (adsbygoogle = window.adsbygoogle || []). push ({});
Po pierwsze, gromadzą postać konwencjonalnymi łańcuchów konkatenacji
tworzą $ = „,.
formy $ = '";
,
Metoda ta wymaga ścisłej zgodności z sekwencji wejściowej, jeśli trzeba wymienić jedną linię do drugiego trzeba przerobić kodu.
,& lt ;! - fb_336x280_2 - & gt;
& lt; script & gt; (adsbygoogle = window.adsbygoogle || []). push ({});
W tabeli widać informacje produktu otrzymanego z bazy danych
W tej postaci trudno jest zorientować się, jakie produkt do zamówienia sprzedaży i które dlatego konkatenacji nie nadaje się do dużych objętości informacji.
Elastyczność i wieloczynnikowej implode function ()
Pisanie tablicy ciągów, a następnie łącząc je za pomocą PHP implode, mamy dużo więcej opcji do pisania kodu.
w celu przerobienia kodu: Usunięcie konkatenacji zamiast jej linia być zawarte w matrycy i zawiera funkcję implode ().
tworzą $ = „,
tworzą $ =„";
Załóżmy, że potrzebujemy osobnej tabeli dla menedżerów, w której komórki "Zamówienie" i "Sprzedaj" powinny być oddzielne. Dzięki implozji macierzy php możemy manipulować ciągami. Dodaj dodatkowe tablice i utwórz inną formę:
& lt; script type = "text /javascript" & gt;
var blockSettings2 = {blockID "R-A-70350-39" renderTo "yandex_rtb_R-A-70350-39" asynchroniczny :! 0};
if (document.cookie.indexOf ("abmatch =") & gt; = 0) blockSettings2.statId = 70350;
! Zastosowanie (a, b, c, d, e) {A [c] = A [c] || [] A [c] .Push (funkcja () {Ya.Context.AdvManager.render (blockSettings2)}), e = b.getElementsByTagName ("scenariusz")d = b.createElement ("scenariusz") d.type = "text /JavaScript" d.src = „//an.yandex .ru /System /context.js "d.async = 0e.parentNode.insertBefore (d, e)} (to this.document," yandexContextAsyncCallbacks „);
$ form_sklad = 'Kompozycja';
$ sprzedaż = tablica ();
$ zakaz = array ();
$ form_sklad. = '";
Zbieramy te same wiersze w drugim formularzu ($ form_sklad). "Zamówienie" jest umieszczone w tablicy$ zakaz i "sell" - w tablicy sprzedaży $. W związku z tym każda jednostka produktu znajdzie się w tablicy $ sale lub $ zakaz. Jednostką towaru jest jedna para butów określonego rozmiaru (od 38 do 42). One series ($ row [„id”] baza danych zawiera towary tego samego modelu, ale o różnych rozmiarach, więc następnie połączyć za pomocą php implozji całą cenę jednostkową jednego modelu w tablice $ form_row_zakaz i $ form_row_sale. Jeśli nie było jedną parę butów jednej wielkości, po czym produkt będzie, jak w tablicy $ Zakaz (produkt końcach) i tablicy $ sprzedaży (sprzedawany ostatniej pary wielkości),
Związek pośredni. typu skrypt = „text /JavaScript” i kwasu
var blockSettings3 = {blockID "RA-70350-44" renderTo "yandex_rtb_R-A-70350-44" asynchroniczny :! 0}
, jeżeli (document.cookie.indexOf („abmatch = „) i GT,! = 0) blockSettings3.statId = 70350,
, funkcja (a, b, c, d, e) {A [c] = A [c] || [] A [C]. push (function () {Ya.Context.AdvManager.render (blockSettings3) }) E = b.getElementsByTagName ("scenariusz")D = b.createElement ("scenariusz") d.type = "text /JavaScript" d.src = „//an.yandex.ru /system/context.js",d.async=!0e.parentNode.insertBefore(d,e)}(this,this.document,"yandexContextAsyncCallbacks „),
W związku z tym nie ma potrzeby tworzenia kolejnego cyklu i wielokrotnego przepisywania linii.
Wszystko razem jest następujący:
$ form = „,
$ form_sklad = 'strukturę',
$ sprzedaży = array (),
$ zakaz = tablica (),
tworzą $ = '
,
rezultatem jest nowa forma gdzie towary zamówić oddzielnie od towarów na sprzedaż
Związek pośredni scenariusz i kwasu (adsbygoogle = window.adsbygoogle || []) pchania ({}).
linii, że można tworzyć w dowolnej kolejności, a następnie za pomocą wskaźnika numerycznego tablicy w celu określenia ich sekwencji. Poniższy przykład ilustruje to.
, jeśli ($ key_product === "wzór") {
$ produktu
= ',' $ Value_product '.";
} else if ($ key_product === "produkt") {
$ produktu,
= '.' $ Value_product.";
}
else if ($ key_product === 'płeć') {
, jeżeli ($ value_product === '1') {
$ produktów= „ [mężczyzn 243] ";
} else {
$ product= ' female ';
}
} else if ($ key_product === 'kolor') {
$ produkt
= '.' $ Value_product.";
}
ksort ($ produkt);
,
W tym przykładzie linię oblicza się w następujący sposób:. "Człowiek - buty - model - kolor" Jeśli zmienisz indeksy, to sekwencjaZmiana wyjście indeksów jest bardzo łatwa zmiana kolejności.
Związek pośredni typu skrypt = "text /JavaScript" & gt;
blockSettings var = {blockID "R-A-70350-45" renderTo "yandex_rtb_R-A-70350-45", asynchroniczny :! 0};
czy (document.cookie.indexOf ("abmatch =") i GT = 0) blockSettings.statId = 70350;
! Zastosowanie (a, b, c, d, e) {A [c] = A [c] || [] A [c] .Push (funkcja () {Ya.Context.AdvManager.render (blockSettings)}), e = b.getElementsByTagName ("scenariusz")d = b.createElement ("scenariusz") d.type = "text /JavaScript" d.src = „//an.yandex .ru /System /context.js "d.async = 0e.parentNode.insertBefore (d, e)} (to this.document," yandexContextAsyncCallbacks „);
łączy w sobie elementy tablicy $ produktu za pomocą php implode
$ form_row_product [$ wiersz ['id']] = implode ('' $ produkt);
, a następnie wyprowadzić na stronę, gdzie jest potrzebne:
echo $ form_row_product_string = implode ('
', $ form_row_product);
,
łączy WARTOŚCIAMI tablice wielowymiarowe w rzędach za pomocą implode, array_map () () i array_column ()
, w przypadku każdej linii z każdego miejsca Kod utworzyć wielowymiarowej tablicy $ row_product
$ row_product [$ wiersz ['id']] = $ produktu;
Teraz możemy spowodować, że wartość tablicy używając array_map:
echo implozji ('', array_map (function ($ wejścia) {
$ buty = tablica ($ wejście
$ wejście ),
$ shoes_string = implode ('' $ bieżnika),
powrotny $ shoes_string,
} $ row_product));
Ostatni przykład drukuje wszystkie buty - mężczyźni i kobiety, może również przynieść kolor i wszystkie inne wartości z tablicy $ produktu.
Jeśli masz tylko jedną wartość $ row_product, można użyć array_column Zastosowanie:
implozji echo (”array_column ($ row_product, 3));
w ten sposób funkcja php implode zapewnia dostęp do wielu możliwości do tablic, które są przydatne do manipulacji danymi i wyjściowych linii, które uwalnia nas od surowychsekwencja ciągów konkatenacji.
wszystkie Kod:
$ hosta = "localhost";
$ username = "root";
$ password = "";
$ dbname = "moja_bazy danych";
$ usertable = "my_table";
$ yourfield = "produkt";
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);
$ form = „;
$ form_sklad = 'Structure'
$ sprzedaż = array ();
$ zakaz = array ();
$ product = array ()
$ row_product = tablica (),
$ form = '.
";
echo $ form_sklad. = Implode ("$ form_row_zakaz) .implode (" $ form_row_sale). ";
echa $ form_row_product_string = implode ('
,' $ form_row_product);
echa implode ('', array_map (funkcja ($ pozycji) {
$ buty = tablica ($ wejście
$ wejście ),
$ shoes_string = implode ("$ bieżnika),
powrotny $ shoes_string,
} $ row_product)),
echa $ array_column = implode (" array_column ($ row_product 3));