PHP中的json_编码方法

PHP中的json_编码方法,php,json,Php,Json,嗨,我最近遇到了一个json_encode函数的例子。对第一部分非常困惑: <?php $runners=array{ 'fname'=>5 'you' => 6 }; echo json_encode (array("runners"=>$runners)); ?> 谢谢,首先,您的代码不正确,如果您运行代码,将出现语法错误。您应该使用array(…)而不是array{…}。这些值需要用逗号分隔。例如: array( key => va

嗨,我最近遇到了一个json_encode函数的例子。对第一部分非常困惑:

<?php 

$runners=array{

'fname'=>5
'you' => 6
};

echo json_encode (array("runners"=>$runners));

?>
谢谢,

首先,您的代码不正确,如果您运行代码,将出现语法错误。您应该使用
array(…)
而不是
array{…}
。这些值需要用逗号分隔。例如:

array(
    key  => value,
    key2 => value2,
    key3 => value3,
    ...
)
以下方面应起作用:

$runners = array(
    'fname' => 5,
    'you'   => 6
);

echo json_encode($runners);
输出:

{"fname":5,"you":6}
这两个有什么不同

两种情况的最终结果都不同。当您执行
json_编码(数组(“runners”=>$runners)),数组是多维的,JSON输出也会改变:

{"runners":{"fname":5,"you":6}}
您应该使用哪一种

视情况而定。在第一个数组中,您只需创建两个名为
fname
you
的键,在第二个数组中,您还可以添加另一个键
runners
,从而使数组成为多维数组。如果希望该信息出现在生成的JSON字符串中,则应使用第二个。如果不正确,请使用第一个。

首先,您的代码不正确,如果您运行代码,将出现语法错误。您应该使用
array(…)
而不是
array{…}
。这些值需要用逗号分隔。例如:

array(
    key  => value,
    key2 => value2,
    key3 => value3,
    ...
)
以下方面应起作用:

$runners = array(
    'fname' => 5,
    'you'   => 6
);

echo json_encode($runners);
输出:

{"fname":5,"you":6}
这两个有什么不同

两种情况的最终结果都不同。当您执行
json_编码(数组(“runners”=>$runners)),数组是多维的,JSON输出也会改变:

{"runners":{"fname":5,"you":6}}
您应该使用哪一种


视情况而定。在第一个数组中,您只需创建两个名为
fname
you
的键,在第二个数组中,您还可以添加另一个键
runners
,从而使数组成为多维数组。如果希望该信息出现在生成的JSON字符串中,则应使用第二个。如果没有,请使用第一个。

首先,您的数组被错误地使用。它将使用小括号
()
而不是卷曲的
{}
。因此,您的阵列将成为:

$runners=array(
  'fname' => 5,
  'you'   => 6
);
现在,当您执行
json\u encode()
as:
echo json\u encode($runners)您将获得以下输出:

{"fname":5,"you":6}
{"runners":{"fname":5,"you":6}}
如果您这样做:
echo json_encode(数组(“runners”=>$runners))您将获得以下输出:

{"fname":5,"you":6}
{"runners":{"fname":5,"you":6}}

首先,你的数组使用不当。它将使用小括号
()
而不是卷曲的
{}
。因此,您的阵列将成为:

$runners=array(
  'fname' => 5,
  'you'   => 6
);
现在,当您执行
json\u encode()
as:
echo json\u encode($runners)您将获得以下输出:

{"fname":5,"you":6}
{"runners":{"fname":5,"you":6}}
如果您这样做:
echo json_encode(数组(“runners”=>$runners))您将获得以下输出:

{"fname":5,"you":6}
{"runners":{"fname":5,"you":6}}

首先,在数组中使用了
{
,这是不正确的。并且在数组元素之间没有

您可以同时使用这两种方法。但是您必须通过不同的方式访问2个json。具体取决于您的选择

首先(这应该是最佳选择)
echo-json\u-encode($runners);
您有一个一维数组

 $runners=array(

    'fname'=>5,
    'you' => 6
    );
    echo json_encode ($runners);
输出:

{"fname":5,"you":6}
{"runners":{"fname":5,"you":6}}
在第二个数组中,就有了2d数组

     $runners=array(

    'fname'=>5,
    'you' => 6
    );


  echo json_encode (array("runners"=>$runners));
输出:

{"fname":5,"you":6}
{"runners":{"fname":5,"you":6}}

现场演示:

首先,您在数组中使用了
{
,这是不正确的。而且您在数组元素之间没有

您可以同时使用这两种方法。但是您必须通过不同的方式访问2个json。具体取决于您的选择

首先(这应该是最佳选择)
echo-json\u-encode($runners);
您有一个一维数组

 $runners=array(

    'fname'=>5,
    'you' => 6
    );
    echo json_encode ($runners);
输出:

{"fname":5,"you":6}
{"runners":{"fname":5,"you":6}}
在第二个数组中,就有了2d数组

     $runners=array(

    'fname'=>5,
    'you' => 6
    );


  echo json_encode (array("runners"=>$runners));
输出:

{"fname":5,"you":6}
{"runners":{"fname":5,"you":6}}

实时演示:

这取决于您希望如何表示它。您希望确切的数据结构是什么?问题是您的数组声明不正确您使用的是{..}而不是(..),这取决于您希望如何表示它。您希望确切的数据结构是什么?问题是您使用的数组声明不正确{..}而不是(..)是的,但我不认为问题是关于这个语法错误。是的,但我不认为问题是关于这个语法错误。这个答案似乎解决了实际问题,而不仅仅是关于语法错误的评论。这个答案似乎解决了实际问题,而不仅仅是关于语法错误的评论。