这两个导致json输出不同的php变量之间有什么区别?

这两个导致json输出不同的php变量之间有什么区别?,php,json,Php,Json,第一个是, $emailAddress = ['email_addr' => test@gmail.com ]; 第二个是 $emailAddress[] = ['email_addr' => test@gmail.com ]; 对于第一个,当我运行echo json\u encode($emailAddress)时,我明白了 { email_addr: "test@gmail.com" } [ - { email_addr: "test@gmai

第一个是,

$emailAddress = ['email_addr' => test@gmail.com ];
第二个是

$emailAddress[] = ['email_addr' => test@gmail.com ];
对于第一个,当我运行
echo json\u encode($emailAddress)时,我明白了

{
    email_addr: "test@gmail.com"
}
[
  - {
         email_addr: "test@gmail.com"
    }
]
第二,当我运行
echo json_encode($emailAddress)时,我明白了

{
    email_addr: "test@gmail.com"
}
[
  - {
         email_addr: "test@gmail.com"
    }
]

导致不同json输出的两个变量之间有什么区别?

第一个变量是一个元素的散列

第二个是一个数组,其中一个元素是一个元素的散列

实际上,第二个问题可以解释为:

$EmailAddress是一个数组,我添加了一个 是一个元素的散列

如果您将其编写为不同的运算符,则可以更正确地阅读:

$emailAddress  []=  ['email_addr' => test@gmail.com ];
而不是

$emailAddress[] = ['email_addr' => test@gmail.com ];
就像使用“.”操作数将字符串添加到另一个字符串中一样

可以使用“[]”操作数将元素添加到数组中


第一个是JSON字符串


第二个是JSON数组,其中有一个元素(JSON字符串)

[]
请看第二个声明中的这一部分?我可以问一下为什么3票反对吗?这个问题怎么了?我应该删除它吗?有人可以解释一下,以便我可以改进或删除这个问题吗?是的,它将添加一个数组元素。您将添加
['email\u addr'=>test@gmail.com]
作为阵列element@user768421没有愚蠢的问题,只有愚蠢的人…他们可以投票。不要难过,你的问题不一定是“愚蠢”才被否决。它可以被否决,因为它已经被问了很多次,因为它表示提问的用户甚至没有用谷歌搜索它,因为它应该在另一种页面中被问。。。原因很多。但没错,如果人们能解释为什么他们否决了它,那就太酷了。实际上,每次你否决一个问题时,这都是一种被推荐的行为。