Reputation: 331
Input str = "102_254,102_274,102_232,104_225,104_226,103_233,103_229,101_316,101_244,101_249,101_250"
Here Input is "102_254" means "Menuid_Submenuid"
Table name is :
Table Fields is:
I want to select item name from "SubMenuTable" table and response it to JSON Format
Output will be separate like this:
I want to output in JSON Formate like this:
{"0":{"101":{"0":{"menuid":"101","submenuid":"316","item":"ItemName1"},"1":{"menuid":"101","submenuid":"244","item":"ItemName2"},"2":{"menuid":"101","submenuid":"249","item":"ItemName3"},"3":{"menuid":"101","submenuid":"250","item":"ItemName4"}},"102":{"0":{"menuid":"102","submenuid":"254","item":"ItemName1"},"1":{"menuid":"102","submenuid":"274","item":"ItemName2"},"2":{"menuid":"102","submenuid":"232","item":"ItemName3"}},"103":{"0":{"menuid":"103","submenuid":"233","item":"ItemName1"},"1":{"menuid":"103","submenuid":"229","item":"ItemName2"}},"104":{"0":{"menuid":"104","submenuid":"225","item":"ItemName1"},"1":{"menuid":"104","submenuid":"226","item":"ItemName2"}}}}
Upvotes: 0
Views: 55
Reputation: 1930
Here's a reformatting prototype just need to prepend items and encode each sub-array:
$sInput = '102_254,102_274,102_232,104_225,104_226,103_233,103_229,101_316,101_244,101_249,101_250';
$aInput = explode( ',', $sInput );
$iCountInputs = count( $aInput );
for( $i = 0; $i < $iCountInputs; ++$i )
{
$aInner = explode( '_', $aInput[ $i ] );
$aTmp[ $aInner[ 0 ] ][] = $aInner[ 1 ];
}
$sJson = json_encode( $aTmp );
var_dump( $aInput );
var_dump( $sJson );
$aAfter = json_decode( $sJson, 1 );
var_dump( $aAfter );
Upvotes: 1