Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]łączenie tablicy
szybki
post
Post #1





Grupa: Zarejestrowani
Postów: 85
Pomógł: 0
Dołączył: 18.06.2014

Ostrzeżenie: (0%)
-----


Mam tablicę

  1. $x = array(
  2. 'klucz1' => array('id','xx','zz'),
  3. 'klucz2' => array('id','xx2','zz'),
  4. );


Jak to połączyć aby otrzymać:

  1. $x = array(
  2. ('id','xx', 'xx2','zz'),
  3. );
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 561
Pomógł: 6315
Dołączył: 27.12.2004




http://php.net/manual/en/function.array-merge.php
a potem
http://php.net/manual/en/function.array-unique.php
Go to the top of the page
+Quote Post
szybki
post
Post #3





Grupa: Zarejestrowani
Postów: 85
Pomógł: 0
Dołączył: 18.06.2014

Ostrzeżenie: (0%)
-----


tylko nie wiem ile i jakie będą klucze

  1. $res = array_merge(array_keys($x), $x);


Jedyne co przychodzi mi do głowy to pętla, tylko czy nie ma od tego funkcji?
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 561
Pomógł: 6315
Dołączył: 27.12.2004




Nie wiesz jakie beda klucze... nie mozna bylo od razu napisac?

  1. $x = array(
  2. 'klucz1' => array('id','xx','zz'),
  3. 'klucz2' => array('id','xx2','zz'),
  4. );
  5.  
  6. $ar = array_reduce($x, function($carry, $item) {
  7. return array_unique(array_merge($carry, $item));
  8. }, []);
  9.  
  10. print_r($ar);
Go to the top of the page
+Quote Post
kapslokk
post
Post #5





Grupa: Zarejestrowani
Postów: 965
Pomógł: 285
Dołączył: 19.06.2015
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


mozna tez chyba:
  1. array_unique(call_user_func_array('array_merge', $x));
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 561
Pomógł: 6315
Dołączył: 27.12.2004




Mozna (IMG:style_emoticons/default/smile.gif)

Tak samo moje mozna skrocic do
$ar = array_unique(array_reduce($x, 'array_merge', []));

nie mniej jednak chcialem unique robic na biezaco a nie na koniec... nie wiem czemu
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 26.12.2025 - 20:41