I am trying to retrieve records after joining two sql tables. The resultant array is as follows :
Array
(
[0] => Array
(
[optionId] => 150
[price] => 2.00
[name] => 1 Ice
[languageId] => 4
)
[1] => Array
(
[optionId] => 150
[price] => 2.00
[name] => Ek Burph
[languageId] => 1
)
[2] => Array
(
[optionId] => 151
[price] => 5.00
[name] => 2 Ice
[languageId] => 4
)
[3] => Array
(
[optionId] => 151
[price] => 5.00
[name] => Do Burph
[languageId] => 1
)
)
I want to convert this array into the following format for easy parsing in my app.
Array
(
[0] => Array
(
[optionId] => 150
[price] => 2.00
[languages]=>array(
[0]=>array(
[name] => 1 Ice
[languageId] => 4
)
[1]=>array(
[name] => Ek Burph
[languageId] => 1
)
)
)
[1] => Array
(
[optionId] => 151
[price] => 5.00
[languages]=>array(
[0]=>array(
[name] => 2 Ice
[languageId] => 4
)
[1]=>array(
[name] => Do Burph
[languageId] => 1
)
)
)
)
ie. I need to group the items belonging to the same optionId in PHP and cannot figure out how. Please help.
Got it done myself :
$array2 = array();
$f = 0;
if($array1){
foreach($array1 as $option){
$i = 0;
foreach($array2 as $option2){
if($option2['optionId'] == $option['optionId']){
$array2[$i]['language'][] = array('name'=>$option['name'],'languageId'=>$option['languageId']) ;
$f = 1;
}
$i++;
}
if(!$f){
$array2[$i]['optionId'] = $option['optionId'];
$array2[$i]['price'] = $option['price'];
$array2[$i]['language'][] = array('name'=>$option['name'],'languageId'=>$option['languageId']);
}
$f = 0;
}
}