【问题标题】:how to convert for loop results in json如何将for循环结果转换为json
【发布时间】:2018-08-10 11:48:52
【问题描述】:

我想将此 php 结果转换为 JSON。

for ($i = 0; $i < (count($getnodays)); $i++)
{
    $category = $getctgry[$i];
    $Priority = $getpriotity[$i];
    $NoOfDays = $getnodays[$i];
    $StDate = $date1[$i];
    $EdDate = $date2[$i];
}

结果要求:

{ 
    "Category": "Category", 
    "Priority": "Priority1", 
    "StDate": "1/1/2016", 
    "EdDate": "5/1/2018" 
},{ 
    "Category": "Category", 
    "Priority": "Priority1", 
    "StDate": "1/1/2016", 
    "EdDate": "5/1/2018" 
},{ 
    "Category": "Category", 
    "Priority": "Priority1", 
    "StDate": "1/1/2016", 
    "EdDate": "5/1/2018" 
}

【问题讨论】:

  • 如果有多天,你会期待什么?
  • 不不,你期望什么输出......
  • 我需要像 { "Category": "Category", "Priority": "Priority1", "StDate": "1/1/2016", "EdDate": "5/1 /2018" },{ "Category": "Category", "Priority": "Priority1", "StDate": "1/1/2016", "EdDate": "5/1/2018" },{ "Category ": "Category", "Priority": "Priority1", "StDate": "1/1/2016", "EdDate": "5/1/2018" }
  • Jon 想说的是:您的示例仅显示了 for 循环的一次迭代的结果。向我们展示你想要的至少 2 次迭代
  • 这不是有效的 JSON,但无论如何,只需使用数组。在每个循环上创建一个新数组,将键设置为您想要的标签,并将值设置为 var 的索引(如您所见),然后将该数组添加到集合数组中,最后 json_encode 集合数组以获得有效的 JSON代表。

标签: php json


【解决方案1】:

在您的循环中,每次迭代都创建一个新的数组。

然后使用json_encode() 将该数组转换为有效的 JSON 字符串。

$json = [];
for ($i = 0; $i < (count($getnodays)); $i++) {
    $json[] = ['Category'   => $getctgry[$i],
                'Priority'  => $getpriotity[$i],
                'NoOfDays'  => $getnodays[$i],
                'StDate'    => $date1[$i],
                'EdDate'    => $date2[$i],
            ];
}
echo json_encode($json);

【讨论】:

    猜你喜欢
    • 2017-04-19
    • 2020-11-27
    • 2023-01-29
    • 2018-01-10
    • 2018-03-19
    • 2023-04-01
    • 2016-01-11
    • 2014-09-09
    • 2021-02-17
    相关资源
    最近更新 更多