Php 未传递数组构造键?

Php 未传递数组构造键?,php,Php,我有一段代码,我不确定它是否按我认为的方式运行- echo json_encode(数组('html'=>$html_字符串,'cid'=>$cid)) 我对此的理解是,它使用$html\u字符串和$cid,并在每个字符串中添加一个键,该键的行为'html'=>$html\u字符串是吗 然后它用键收集这两个变量,并将它们打包到一个数组中,是吗 如果是这样的话,当我在AJAX数据返回上查看这些数据的输出时,我感到困惑-dataType:'JSON',success:function(data){c

我有一段代码,我不确定它是否按我认为的方式运行-

echo json_encode(数组('html'=>$html_字符串,'cid'=>$cid))

我对此的理解是,它使用
$html\u字符串
和$
cid
,并在每个字符串中添加一个键,该键的行为
'html'=>$html\u字符串
是吗

然后它用键收集这两个变量,并将它们打包到一个数组中,是吗

如果是这样的话,当我在AJAX数据返回上查看这些数据的输出时,我感到困惑-
dataType:'JSON',success:function(data){console.log(data.cid);
,为什么它们不包含键。控制台日志示例:

(3) […]
0: "45"
1: "46"
2: "47"
length: 3

不应该每个都包含键
cid

仔细检查AJAX调用

我不知道
$cid
的值,也不知道
$html\u string
的值,但是在中替换值,这就是应该发生的事情

$cid = 1;
$html_string = '<p>lorem ipsum</p>';
$data = json_encode( array('html' => $html_string, 'cid' => $cid) );
echo $data;
$cid=1;
$html_string='lorem ipsum

'; $data=json_编码(数组('html'=>$html_字符串,'cid'=>$cid)); 回波数据;
输出:

{"html":"<p>lorem ipsum<\/p>","cid":1}
{“html”:“lorem ipsum”,“cid”:1}

您正在记录
数据的值。cid
因此不,它将不包括键
cid
,因为您已经在访问该属性。我看到了,我该如何在输入端进行更改,以便键随数据一起移动,因为没有该键会导致以后的未识别索引问题?如果我只记录
cid
而不是
数据。cid
它告诉我它的未定义路径是您要记录
数据的路径,例如
console.log(数据)
。然后您将看到
cid
html
键。我可以记录并确实看到这一点,但如果我只传递数据而不是
html.data
,那么我什么也得不到。下面是进一步的问题和完整代码的问题。问题是否在于编码之前如何传输所有内容老实说,我不知道你在问什么,关于StackOverflow的问题应该包括问题本身所需的所有内容。这听起来很像是一种感谢,我没有收到前面的“html”。如果你在寻找整个代码,我还有第二个问题,那就是后面的问题-