【问题标题】:String format - Logic issue [duplicate]字符串格式 - 逻辑问题 [重复]
【发布时间】:2012-07-11 21:34:56
【问题描述】:

可能重复:
PHP : Create array for JSON

我需要以以下 JSON 格式输出数据。

输出:

[
    {
        "name": "jake",
        "age": "20"

}
]

在下面的代码中,我需要设置键和值对以提供上述 JSON 输出。我怎么能这样做?

代码:

$result = array();
$key = array("name", "age");
$value = array("jake", "20");

while($i>2)
{
    $result [] = HERE I NEED TO SET <key : value> COMBINATION, I NEED IT TO SET IN A WAY IT WILL GIVE THE FORMAT OF THE JSON OUTPUT GIVEN ABOVE.
}


echo json_encode($result );

【问题讨论】:

    标签: php json


    【解决方案1】:
    $key = array("name", "age");
    $value = array("jake", "20");
    $json=array();
    for($i=0;$i<=count($key)-1;$i++)
    {
        $json[$key[$i]]=$value[$i];
    }
    echo json_encode($json); // {"name":"jake","age":"20"}
    

    【讨论】:

    • 微优化:$count = count($key); for($i=0;$i&lt;$count;++$i){}
    • 仅2项,我认为没有必要,但这是一个很好的做法,谢谢。 :-)
    • @hsz:或者只是for($i=0,$count=count($key);$i&lt;$count;++$i){}
    【解决方案2】:

    您可以使用array_combine

    $result = array_combine($key, $value);
    

    结果:

    var_dump($result);
    
    array(2) {
      ["name"]=>
      string(4) "jake"
      ["age"]=>
      string(2) "20"
    }
    
    var_dump(json_encode($result));
    
    string(26) "{"name":"jake","age":"20"}"
    

    【讨论】:

      【解决方案3】:

      试试array_combile

      $result = array();
      $key = array("name", "age");
      $value = array("jake", "20");
      
      $result[] = array_combine($key, $value);
      
      echo json_encode($result);
      

      【讨论】:

        猜你喜欢
        • 2021-12-21
        • 2013-11-16
        • 1970-01-01
        • 2020-08-24
        • 1970-01-01
        • 2017-01-16
        • 2014-04-26
        • 1970-01-01
        • 2014-10-23
        相关资源
        最近更新 更多