• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

PHP jak ujednolicić tablicę z tablicami

Object Storage Arubacloud
0 głosów
262 wizyt
pytanie zadane 21 września 2019 w PHP przez BlvckFox Gaduła (4,240 p.)
edycja 21 września 2019 przez BlvckFox

Cześć, co trzeba zrobić żeby z takiej tablicy:
 

$results = [
    ['name' => 'something','type' => 'X'],
    ['name' => 'something', 'type' => 'X'],
    ['name' => 'soomething', 'type' => 'X'],
    ['name' => 'somethinggg', 'type' => 'Y']
];

Utworzyć coś takiego:
 

[
    [type=>'X'] => [
       [name => 'something'],
       [name => 'something'],
       [name => 'soomething']
    ],
    [type=>'Y'] => [
       [name => 'somethinggg']
    ]
]

Jest takie coś w ogole mozliwe w PHP? Ma to jakąś swoją nazwę?

komentarz 21 września 2019 przez Tomek Sochacki Ekspert (227,510 p.)
hmm, a kombinowaleś może w funkcją array_reduce?
komentarz 21 września 2019 przez BlvckFox Gaduła (4,240 p.)
Nie mam pojęcia jak można to zrobić za pomocą array_reduce, tworzyć tablicę z tablicą, nie mam pojęcia jak by to wyglądało. W javascripcie w obiektach byłoby łatwiej.
komentarz 23 września 2019 przez chmod96 Obywatel (1,380 p.)

@BlvckFox, Jedno pytanie mi się nasuwa, do czego zmierzasz z taką konwersją tablicy ? może jest inne lepsze rozwiązanie tego problemu.

1 odpowiedź

0 głosów
odpowiedź 21 września 2019 przez niezalogowany

W php co najwyżej coś takiego:

<?php
  $tab = [
    'X' => [
       ["name" => 'something'],
       ["name" => 'something'],
       ["name" => 'soomething']
    ],
    'Y' => [
       ["name" => 'somethinggg']
    ]
    ];
    echo $tab["X"][0]["name"];
?>

 

komentarz 21 września 2019 przez BlvckFox Gaduła (4,240 p.)
Jak osiagnąć taki efekt?
1
komentarz 21 września 2019 przez niezalogowany
<?php
$results = [
   ['name' => 'something','type' => 'X'],
   ['name' => 'something', 'type' => 'X'],
   ['name' => 'soomething', 'type' => 'X'],
   ['name' => 'somethinggg', 'type' => 'Y']
];    

$tab = array();
foreach($results as $result) {
   $tab[$result["type"]][]["name"] = $result["name"];
}
?>

 

komentarz 21 września 2019 przez BlvckFox Gaduła (4,240 p.)
Gdybym chciał iterować po takiej tablicy, jak to zrobić? Uznajmy, że nie znam wartości 'type'? array_values usuwa wartość całkowicie

Podobne pytania

0 głosów
1 odpowiedź 642 wizyt
pytanie zadane 31 maja 2020 w JavaScript przez rob Bywalec (2,440 p.)
0 głosów
2 odpowiedzi 466 wizyt
pytanie zadane 23 września 2019 w PHP przez BlvckFox Gaduła (4,240 p.)
0 głosów
1 odpowiedź 122 wizyt
pytanie zadane 20 lutego 2017 w PHP przez Krzysztof Trybuś Mądrala (5,280 p.)

92,555 zapytań

141,403 odpowiedzi

319,557 komentarzy

61,940 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...