使用PHP的动态JSON数组

使用PHP的动态JSON数组,php,arrays,json,Php,Arrays,Json,我使用PHP和一些JSON数组来显示表中的数据。以下代码与下图类似: 我的问题:我使用以下代码在android应用程序上为我的用户提供一些软件包。在我的食品类别表中,ID 6-7-8是饮料、膳食和甜点。如何在许多数组中显示完整的食物、饮料、膳食和甜点,如下图所示,显示1个数组中的所有信息?现在我的代码将ID和名称分开,并且。。。在某些数组中。你们能帮我吗,伙计们 餐桌: 代码: 好吧,我想在这里做一个巨大的飞跃,假设你有相同数量的食物、膳食、饮料和沙漠,你只想在一个包装中显示它们的组合,而

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

我的问题:我使用以下代码在android应用程序上为我的用户提供一些软件包。在我的
食品类别
表中,ID 6-7-8是饮料、膳食和甜点。如何在许多数组中显示完整的食物、饮料、膳食和甜点,如下图所示,显示1个数组中的所有信息?现在我的代码将ID和名称分开,并且。。。在某些数组中。你们能帮我吗,伙计们

餐桌:

代码:


好吧,我想在这里做一个巨大的飞跃,假设你有相同数量的食物、膳食、饮料和沙漠,你只想在一个包装中显示它们的组合,而不需要任何特定的顺序或逻辑

看看你的代码,你现在有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;

现在,就像我说的,我不知道这些包裹是否与食物、饮料和膳食有某种联系。这只是一个简单的例子。

我也有同样的问题:)分组的标准是什么?@Suchitkumar Restaurant\u id&人数和用户金钱。再次检查我为展示食物而编辑的问题table@Suchitkumar请检查问题的编辑。你能指引我吗?谢谢我的朋友。但我不明白。你能再解释一下吗?你一个接一个地浏览食物的每一个元素。此foreach条件
$foodArray as$key=>$foodValue
确保获得每个元素的索引。因此,当您在foodArray的第二个索引上时(在每个sql返回结果后尝试打印($foodArray);
等以查看索引),您可以检查其他数组是否在同一索引上有任何值,如果有,您可以将它们添加到临时的
$package
数组中。最后,将该数组推送到packagesArray中(如果这些是简单数组,json_编码可能会将其显示为对象)。在foreach循环的每个步骤中,
$package
数组都被重置。嘿,我在编码方面有了一些进展。但我看到了另一个问题。我编辑了我的问题。如果你有时间,请再次检查并帮助我。非常感谢。您是如何在第一张图片中获得该阵列的?你能给我看一下数据库中的几行数据吗?好的,我可能会感到恼火,但你能给我看一个数据转储或foodArray或desertArray的json数组吗。除PackageArray之外的任何其他阵列。
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;