Home  >  Article  >  php教程  >  php 中 define 定义常量和单双引号问题

php 中 define 定义常量和单双引号问题

WBOY
WBOYOriginal
2016-06-21 08:48:481651browse

一、define定义常量问题

      

define('DATABASE', 'MYSQL');  

define('DATABASE_USER', 'ROOT');  

define('DATABASE_PASSWORD', 'PASSWORD');  

?>

 

             直接使用"DATABASE"常量,代表的就是"MYSQL"。

 

             $arr = array('fruit'=>'apple','veggie'=>'carrot');

 

             define('fruit','veggie');

             

             print $arr['fruit'];   //  apple

             print $arr[fruit];  //  carrot  

            * 注意 :[] 中没有引号。php会自动把key值当作常量来解析,然后去内存中找对应的常量,于是找到了fruit,然后解析key值。然后再去内存中找常量,没找到veggie,然后就把veggie当作真正的key值,找到对应的值。





               

二、单双引号问题

 

    error_reporting(E_ALL);

     $arr = array('fruit'=>'apple','veggie'=>'carrot');

 

    define('fruit','veggie');

    print $arr['fruit']; echo '
';    //apple

    print $arr[fruit]; echo '
';    //carrot

    print "hello $arr[fruit]"; echo '
';  // apple

    print "hello {$arr[fruit]}"; echo '
'; // hello carrot

    print "hello {$arr['fruit']}";  echo '
';// hello apple

   //print "Hello $arr['fruit']"; // 有错误

   //print "hello $_GET['foo']"; // 有错误

   print "Hello " . $arr['fruit']; // Hello apple

 

注意: 数组方括号中如果没有加引号,php会首先按照常量来解析。



Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn