PHP大小写问题:函数名和类名不区分,变量名区分

yipeiwu_com5年前PHP代码库

PHP对大小写敏感问题的处理比较乱,写代码时可能偶尔出问题,所以这里总结一下。
但我不是鼓励大家去用这些规则。推荐大家始终坚持“大小写敏感”,遵循统一的代码规范。

1. 变量名区分大小写

复制代码 代码如下:

 <?php
 $abc = 'abcd';
 echo $abc; //输出 'abcd'
 echo $aBc; //无输出
 echo $ABC; //无输出

2. 常量名默认区分大小写,通常都写为大写
(但没找到能改变这个默认的配置项,求解)

复制代码 代码如下:

 <?php
 define("ABC","Hello World");
 echo ABC; //输出 Hello World
 echo abc; //输出 abc

3. php.ini配置项指令区分大小写
如 file_uploads = 1 不能写成 File_uploads = 1

4. 函数名、方法名、类名不区分大小写
但推荐使用与定义时相同的名字

复制代码 代码如下:

 <?php
 function show(){
 echo "Hello World";
 }

 show(); //输出 Hello World 推荐写法

 SHOW(); //输出 Hello World

复制代码 代码如下:

 <?php
 class cls{
 static function func(){
 echo "hello world";
 }
 }
 Cls::FunC(); //输出hello world

5. 魔术常量不区分大小写,推荐大写
包括:__LINE__、__FILE__、__DIR__、__FUNCTION__、__CLASS__、__METHOD__、__NAMESPACE__。

复制代码 代码如下:

 <?php
 echo __line__; //输出 2
 echo __LINE__; //输出 3

6. NULL、TRUE、FALSE不区分大小写

复制代码 代码如下:

 <?php
 $a = null;
 $b = NULL;
 $c = true;
 $d = TRUE;
 $e = false;
 $f = FALSE;
 var_dump($a == $b); //输出 boolean true
 var_dump($c == $d); //输出 boolean true
 var_dump($e == $f); //输出 boolean true

PHP变量名区分大小写,函数名不区分大小写,经常被新手忽视的小细节,测试如下.

PHP变量名区分大小写测试:

复制代码 代码如下:

<?php
    $aaa = "jb51.net";
    $AAA = "JB51.CN";
    echo $aaa.'-'.$AAA;  //jb51.net-JB51.CN
?>

PHP函数名不区分大小写测试:

复制代码 代码如下:

<?php
    function bbb(){
        echo 'abc';
    }
    function BBB(){
        echo "Abc";
    }
?>

上面这段代码会报错:( ! ) Fatal error: Cannot redeclare BBB()

相关文章

PHP 函数call_user_func和call_user_func_array用法详解

call_user_func函数是当需要动态调用函数时,才使用的,这个函数有两种用法:第一种是调用孤独的函数:复制代码 代码如下:<?phpfunction funa($b,$c)...

PHP获取文件扩展名的方法实例总结

本文实例总结了PHP获取文件扩展名的方法。分享给大家供大家参考,具体如下: 在PHP面试中或者考试中会有很大几率碰到写出五种获取文件扩展名的方法,下面是我自己总结的一些方法 $fil...

php实现基于pdo的事务处理方法示例

本文实例讲述了php实现基于pdo的事务处理方法。分享给大家供大家参考,具体如下: 实例1: try {} catch () {} 形式 <?php $dsn = 'm...

php连接oracle数据库及查询数据的方法

本文实例讲述了php连接oracle数据库及查询数据的方法。分享给大家供大家参考。具体分析如下: php有强大的功能不但可以支持mysql,mssql,mysqli之个我们还可以与ora...

关于shopex同步ucenter的redirect问题,导致script不运行

首先此问题来自向这个帖子 http://hi.baidu.com/fire_love_live/item/247276cfda421217b67a24c7 需要说明的是,并非15处需要修...