Si tratta quindi di mappare le chiavi dell'array col valore deciso dell'array figlio.
Quindi, poniamo di avere questo array:
$array = [['label' => 'Codice','value' => 'codice'],['label' => 'EAN','value' => 'ean'],['label' => 'Altezza','value' => 'altezza','postfix' => 'mm'],['label' => 'Larghezza','value' => 'larghezza','postfix' => 'mm'],['label' => 'Profondità','value' => 'profondita','postfix' => 'mm'],['label' => 'Materiale','value' => 'materiale']];
e lo stampiamo avremo quindi questo risultato:
Array([0] => Array([label] => Codice[value] => codice)[1] => Array([label] => EAN[value] => ean)[2] => Array([label] => Altezza[value] => altezza[postfix] => mm)[3] => Array([label] => Larghezza[value] => larghezza[postfix] => mm)[4] => Array([label] => Profondità[value] => profondita[postfix] => mm)[5] => Array([label] => Materiale[value] => materiale))
Se utilizziamo le seguenti funzioni:
$keys = array_column($all, 'value');$all = array_combine($keys, $all);
risulterà questa stampa:
Array([codice] => Array([label] => Codice[value] => codice)[ean] => Array([label] => EAN[value] => ean)[altezza] => Array([label] => Altezza[value] => altezza[postfix] => mm)[larghezza] => Array([label] => Larghezza[value] => larghezza[postfix] => mm)[profondita] => Array([label] => Profondità[value] => profondita[postfix] => mm)[materiale] => Array([label] => Materiale[value] => materiale))
Per questa soluzione va ringraziato Federico Quagliotto.