2012-03-25 112 views
0

我正在查询数据库中的结果并试图将它们转换为JSON可编码数组,其中的键将用作该对的名称并且该值是该值。我如何在下面的代码中执行此操作?将字符串转换为JSON可转换阵列

foreach($results as $result) { 
     foreach($result as $key => $value) { 
     if ($key == 'D') 
     { 
      $trimmed = round($value, 4); 
     } 
      else 
      { 
       $trimmed = trim($value, "\n\r"); 
      } 
      $array[$i] ="$key"."=>"."$trimmed"; 
     } 
     $i = 0; 
     $jret = json_encode($array); 
     echo $jret; 
    } 

例如:

<?php 
$object[0] = array("foo" => "bar", 12 => true); 
$encoded_object = json_encode($object); 
?> 

输出:

{"1": {"foo": "bar", "12": "true"}} 
+0

你举的例子没有按不会返回这样的输出。曾试图运行它? – kirilloid 2012-03-25 03:16:58

回答

1

不知道你需要什么,你为什么模仿 PHP代码,而不是使用它,但可能是

$array[] = array($key => $trimmed); 

是你在找什么

+0

真棒,谢谢!我不知道你可以这样做。 – maknelly 2012-03-25 03:21:52

0

$array[$i][$key] = $trimmed; 

你可以做

$return = json_encode($object, JSON_FORCE_OBJECT);