PHP: convert array with multiple arrays to one single associative array -
my array $rawarray looks this:
array ( 0 => array ( 'name' => 'firstname', 'value' => 'max', ), 1 => array ( 'name' => 'lastname', 'value' => 'smith ', ), 2 => array ( 'name' => 'age', 'value' => 12, ), 3 => array ( 'name' => 'gender', 'value' => 'male', )); how can convert array in this?
$newarray = ['firstname' => 'max', 'lastname' => 'smith', 'age' => 12, 'gender' => 'male']; so far tried foreach loop, didn't work:
$newarray = []; foreach($rawarray $key=>$value) { $newarray[$key] = [$value]; }
you can use array_column
$arr = array ( 0 => array ( 'name' => 'firstname', 'value' => 'max', ), 1 => array ( 'name' => 'lastname', 'value' => 'smith ', ), 2 => array ( 'name' => 'age', 'value' => 12, ), 3 => array ( 'name' => 'gender', 'value' => 'male', )); var_dump(array_column($arr, "value", "name")); result:
array(4) { ["firstname"]=> string(3) "max" ["lastname"]=> string(6) "smith " ["age"]=> int(12) ["gender"]=> string(4) "male" }
Comments
Post a Comment