这是使用php的有效json数组吗
我需要转换其他人完成的一些代码,以便在我的mvc模型中工作 它使用了一些我不理解的功能,比如EOD。这在课堂上仍然有效吗 首先,我的问题集中在json输出上 旧代码没有使用php json_encode函数,而是像这样直接输出这是使用php的有效json数组吗,php,syntax,json,Php,Syntax,Json,我需要转换其他人完成的一些代码,以便在我的mvc模型中工作 它使用了一些我不理解的功能,比如EOD。这在课堂上仍然有效吗 首先,我的问题集中在json输出上 旧代码没有使用php json_encode函数,而是像这样直接输出 ?> { "username": "<?php echo $_SESSION['username'];?>", "items": [ <?php echo $items;?>
?>
{
"username": "<?php echo $_SESSION['username'];?>",
"items": [
<?php echo $items;?>
]
}
<?php
$items = '';
if ( !empty($_SESSION['openChatBoxes'] ) ) {
foreach ( $_SESSION['openChatBoxes'] as $chatbox => $void ) {
$items .= $this->chatBoxSession($chatbox);
}
}
//The chatBoxSession() function takes an item from the $_SESSION['chatHistory'] array and returns it.
这是关于$items是如何制作的一些背景资料。
项目的存储方式如下:
$_SESSION['chatHistory'][$_POST['to']] .= <<<EOD
{
"s": "1",
"f": "{$to}",
"m": "{$messagesan}"
},
EOD;
我希望这已经足够清楚了?
php手册警告说,在某些情况下,您不会得到数组输出,而是得到一个对象。所以,对于EOD语法,我不是很确定
如果我知道一些事情也在做他们认为应该做的事情,并且给出正确的输出,这可以节省我一些时间
谢谢你,Richard,这被称为heredoc。它的工作原理就像所有的文本都是一个字符串。如果您试图生成JSON,请不要使用它。相反,请使用以下事实,即语句在遇到分号之前不会完成:
$somevar = {
"s": "1",
"f": "{$to}",
"m": "{$messagesan}"
};
这被称为heredoc。它的工作原理就像所有的文本都是一个字符串。如果您试图生成JSON,请不要使用它。相反,请使用以下事实,即语句在遇到分号之前不会完成:
$somevar = {
"s": "1",
"f": "{$to}",
"m": "{$messagesan}"
};
EOD只是HEREDOC(或NOWDOC)语法,不是吗?类似的东西,但我不是真的很喜欢,我仍然需要阅读php手册页面EOD只是HEREDOC(或NOWDOC)语法,不是吗?类似的东西,但我不是真的很喜欢,我仍然需要阅读php手册页面谢谢,在最后一次结束后添加最后一个逗号,你忘了。但是我是否也在使用正确的方式输出项目。我用json_编码加上笔直的卷发[]本身,还是我必须这样做?你在回答中写的是一个单一的对象,对吗?但是ajax函数需要一个项目数组。这是正确的“items”=>$items还是我需要执行“items”=>array($items)???通常,您创建一个包含线性数组和关联数组的结构,并在该结构上调用
json\u encode()
,将其一次转换为json。你是否需要调用array()
取决于你想要的结构。哦,该死,我明白你的意思了,如果会话数组中已经包含了现成的对象,我就不能用json\u编码。我必须重新考虑一下这种情况。如果我使用语法$output=Thank,并在最后一个结束卷曲后添加最后一个逗号,那么这是否正确,您忘记了这一点。但是我是否也在使用正确的方式输出项目。我用json_编码加上笔直的卷发[]本身,还是我必须这样做?你在回答中写的是一个单一的对象,对吗?但是ajax函数需要一个项目数组。这是正确的“items”=>$items还是我需要执行“items”=>array($items)???通常,您创建一个包含线性数组和关联数组的结构,并在该结构上调用json\u encode()
,将其一次转换为json。你是否需要调用array()
取决于你想要的结构。哦,该死,我明白你的意思了,如果会话数组中已经包含了现成的对象,我就不能用json\u编码。我必须重新考虑一下情况。如果我使用语法$output,那么这是否正确=