在 php 中使用未定义的常量错误


Use of undefined constant error in php

以下代码

<?php
 $email_domain = "abc@gmail.com";
 $email_user = "Roshan";
 $email_pass = "admin";
 $email_quota = "200";
 $call = array(domain=>$email_domain, email=>$email_user, password=>$email_pass, quota=>$email_quota);
 echo json_encode($call);
?>

生成以下错误:

Notice: Use of undefined constant domain - assumed 'domain' in C:'xampp'htdocs'test2.php on line 7
Notice: Use of undefined constant email - assumed 'email' in C:'xampp'htdocs'test2.php on line 7
Notice: Use of undefined constant password - assumed 'password' in C:'xampp'htdocs'test2.php on line 7
Notice: Use of undefined constant quota - assumed 'quota' in C:'xampp'htdocs'test2.php on line 7
{"domain":"abc@gmail.com","email":"Roshan","password":"admin","quota":"200"}

我想知道这种情况的发生,在这种情况下可以做些什么来防止此错误。

array(name => value)不是

有效的语法,php现在不是name是什么。数组键两边需要引号。

使用array("domain" => $email_domain, ...等。

你应该在数组中的键周围使用引号,像这样:-

$call = array('domain'=>$email_domain, 'email'=>$email_user, 'password'=>$email_pass, 'quota'=>$email_quota);
如果要

使用文字作为数组键,则需要用双引号或单引号将它们括起来:

$call = array('domain'=>$email_domain,
              'email'=>$email_user,
              'password'=>$email_pass,
              'quota'=>$email_quota);