使用PHP的动态JSON数组

时间:2018-08-20 16:13:29

标签: php arrays json

我正在使用PHP和一些JSON数组来显示表中的数据。以下代码类似于下图:

enter image description here

我的问题:我使用以下代码在Android应用上向用户提供了一些软件包。在我的<ItemGroup> <Reference Include="Foo"> <HintPath>path\to\Foo</HintPath> <!-- <Private>False</Private> --> </Reference> <Reference Include="Bar"> <HintPath>path\to\Bar</HintPath> <!-- <Private>True</Private> --> </Reference> </ItemGroup> 表格中,编号6-7-8是饮料,膳食和甜点。我如何以许多阵列显示完整的食物,饮料,餐食和甜点,如以下显示1阵列的所有信息的图像?现在,我的代码将ID和名称以及...分隔成一些数组。你们可以帮我吗?

enter image description here

食物表:

enter image description here

代码:

food_category

1 个答案:

答案 0 :(得分:1)

好吧,我将在这里取得巨大的飞跃,并假设您拥有相同数量的食物,食物,饮料和沙漠,并且您只想将它​​们作为组合显示在一个包装中,而无需任何特定的顺序或逻辑

因此,查看您的代码,您现在拥有4个数组:

$foodArray = array();
$desertArray = array();
$drinkArray = array();
$mealArray = array();

如果您想将它们作为一个包简单组合,这是最简单的方法,首先您声明一个包数组:

$packagesArray = array();

然后遍历数组中的一个数组(例如food),创建一个键-值对,在一个foreach循环中检查其他数组并添加一个包:

foreach ($foodArray as $key => $foodValue){

    $package = array();
    $package['food'] = $foodValue;

    if(isset($mealArray[$key])){
        $package['meal'] = $mealArray[$key];
    }
    if(isset($drinkArray[$key])){
        $package['drink'] = $drinkArray[$key];
    }
    if(isset($desertArray[$key])){
        $package['desert'] = $desertArray[$key];
    }

    array_push($packagesArray, $package);
}

$response["package"] = $packagesArray;

现在,就像我说的那样,我不知道这些包装是否与食物,饮料和餐食相关。这只是一个简单的例子。