如何在字符串下方的 JSON 中响应?使用 PHP 网络服务


How to response in JSON below String? using PHP Webservice

Input str = "102_254,102_274,102_232,104_225,104_226,103_

233,103_229,101_316,101_244,101_249,101_250"

此处输入为"102_254"表示"Menuid_Submenuid"

  • 102 是菜单 ID
  • 254 是子菜单 ID

表名为 :

  • 子菜单表

表字段为:

  • 菜单标识
  • 子菜单标识
  • 项目

我想从"子菜单表"表中选择项目名称并将其响应为 JSON 格式

输出将像这样分开:

  • 102
    • 254
    • 274
    • 232
  • 104
    • 225
    • 226
  • 103
    • 233
    • 229
  • 101
    • 316
    • 244
    • 249
    • 250

我想像这样在 JSON 格式中输出:

{"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","子菜单ID":"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"}}}}

这是一个重新格式化原型,只需要在项目前面加上项目并对每个子数组进行编码:

$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 );