PHP中的json_编码方法
嗨,我最近遇到了一个json_encode函数的例子。对第一部分非常困惑: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
<?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}}
实时演示:这取决于您希望如何表示它。您希望确切的数据结构是什么?问题是您的数组声明不正确您使用的是{..}而不是(..),这取决于您希望如何表示它。您希望确切的数据结构是什么?问题是您使用的数组声明不正确{..}而不是(..)是的,但我不认为问题是关于这个语法错误。是的,但我不认为问题是关于这个语法错误。这个答案似乎解决了实际问题,而不仅仅是关于语法错误的评论。这个答案似乎解决了实际问题,而不仅仅是关于语法错误的评论。