Spójrz na ten kod:
$GET = array();
$key = 'one=1';
$rule = explode('=', $key);
/* array_push($GET, $rule[0] => $rule[1]); */
Szukam czegoś takiego, aby:
print_r($GET);
/* output: $GET[one => 1, two => 2, ...] */
Czy jest do tego funkcja? (ponieważ array_push
nie będzie działać w ten sposób)
$arrayname = array('indexname1' => $value1, 'indexname2' => $value2);
ustawi je jako jedyne elementy w$arrayname
. Jeśli już$arrayname
ustawiłeś i chcesz zachować jego wartości, spróbuj$arrayname += $anotherarray
. Należy pamiętać, że wszystkie istniejące klucze w pierwszej tablicy zostaną zastąpione przez drugą.$a = array("name" => "John"); $a += array("name" => "Tom");
to$a["name"]
będzie „John”Wepchnięcie wartości do tablicy automatycznie tworzy dla niej klucz numeryczny.
Kiedy dodajesz parę klucz-wartość do tablicy, masz już klucz, nie musisz go tworzyć. Wciśnięcie klucza do tablicy nie ma sensu. Możesz ustawić tylko wartość określonego klucza w tablicy.
źródło
Możesz użyć operatora union (
+
) do łączenia tablic i zachowania kluczy dodanej tablicy. Na przykład:Więc możesz to zrobić
$_GET += array('one' => 1);
.Więcej informacji na temat korzystania z operatora związku vs można znaleźć
array_merge
w dokumentacji na stronie http://php.net/manual/en/function.array-merge.php .źródło
array_merge()
a+
operatorem polega na tym, że 2 tablice zawierają wartości tego samego+
operatora klucza , ignoruje wartość z drugiej tablicy (nie zastępuje), a także nie przenumerowuje / nie reindeksuje klawiszy numerycznych ...Chciałbym dodać moją odpowiedź do tabeli i oto ona:
mam nadzieję, że to komuś pomoże
źródło
Dokładnie to, co powiedział Pekka ...
Alternatywnie, możesz prawdopodobnie użyć array_merge w ten sposób, jeśli chcesz:
Ale wolałbym metodę Pekki prawdopodobnie, ponieważ jest o wiele prostsza.
źródło
Zastanawiam się, dlaczego nie opublikowano jeszcze najprostszej metody:
źródło
array_merge
a union union (+=
) zachowuje się w odwrotny sposób, tj. array_merge będzie respektować wartość z drugiej tablicy, a union union będzie respektować wartość z pierwszej tablicy.To rozwiązanie może być przydatne dla Ciebie
Kiedy to rzucisz. Wynik taki jak ten
źródło
Po prostu szukałem tego samego i zdałem sobie sprawę, że po raz kolejny moje myślenie jest inne, ponieważ jestem starą szkołą. Wracam do BASIC i PERL i czasami zapominam, jak proste są rzeczy w PHP.
Właśnie wykonałem tę funkcję, aby pobrać wszystkie ustawienia z bazy danych, w której są 3 kolumny. setkey, item (key) & value (value) i umieść je w tablicy o nazwie settings używając tego samego klucza / wartości bez użycia push tak jak powyżej.
Całkiem łatwe i proste naprawdę
Podobnie jak inne posty wyjaśniają ... W php nie ma potrzeby „PUSH” tablicy, gdy używasz
Klucz => wartość
ORAZ ... Nie ma też potrzeby najpierw definiować tablicy.
$ array = array ();
Nie musisz definiować ani naciskać. Po prostu przypisz $ array [$ key] = $ value; Jest to automatycznie push i deklaracja w tym samym czasie.
Muszę dodać, że ze względów bezpieczeństwa, (P) oor (H) elpless (P) rotacja, mam na myśli Programowanie dla manekinów, mam na myśli PHP ... hehehe Sugeruję, abyś używał tej koncepcji tylko do tego, co zamierzałem. Każda inna metoda może stanowić zagrożenie bezpieczeństwa. Tam zrobiłem moje zastrzeżenie!
źródło
To działa dobrze. tworzy klucz z jego wartością w tablicy
źródło
$arr
tablicy.Trochę późno, ale jeśli nie przeszkadza ci tablica zagnieżdżona, możesz zastosować następujące podejście:
Aby to wyjaśnić, jeśli wypiszesz json_encode ($ main_array), który będzie wyglądał jak [{„Key”: „10”}]
źródło
Trochę dziwne, ale to zadziałało dla mnie
źródło
// drukuje tablicę ['key1' => „wartość1”, „key2” => „wartość2”]
źródło
cześć, miałem ten sam problem, znajduję to rozwiązanie, powinieneś użyć dwóch tablic, a następnie połączyć je oba
referencja: w3schools
źródło
Prosty sposób:
http://php.net/manual/de/function.parse-str.php
źródło
Aby dodać do pierwszej pozycji za pomocą
key
ivalue
źródło
Aby wypchnąć „klucz” i „wartość” do istniejącej tablicy, możesz użyć
+=
operatora skrótu.Zobacz ten bardzo prosty przykład:
Wynikiem
print_r($GET)
będzie:źródło
Przykład array_merge () ....
$array1 = array("color" => "red", 2, 4); $array2 = array("a", "b", "color" => "green", "shape" => "trapezoid", 4); $result = array_merge($array1, $array2); print_r($result);
Tablica ([kolor] => zielony, [0] => 2, [1] => 4, [2] => a, [3] => b, [kształt] => trapezoid, [4] => 4 ,)
źródło
Mi to pasuje.
źródło
$GET['one']=1
, następnie używa wartości zwracanej tej instrukcji (= 1, wartość), a następnie wykonuje sięarray_push($GET, 1)
. Wynik = [0] -> 1, [jeden] -> 1Napisałem prostą funkcję:
dzięki czemu mogę łatwo „wstawić” nowy element:
źródło
Podano już świetny przykład. Wystarczy dodać prosty przykład, aby wypchnąć elementy tablicy asocjacyjnej do głównego indeksu liczbowego indeksu.
źródło
Zazwyczaj robię to:
źródło