对于一些刚接触php的新手来说,肯定会遇到这样的问题。php的常量名区分大小写么?php的自定义函数区分大小写么?php的类名区分大小写么?关于这些问题,本篇文章就来详细的介绍总结一下,php一些函数名以及变量名等是否对大小写敏感。

php 对函数名不区分大小写

1、自定义函数

<?php
function GetTime(){
    return date('Y-m-d');
}
//调用函数
echo GetTime();
//调用函数,所有字母转成小写
echo gettime();
?>

输出结果:

2019-09-24
2019-09-24

注意:

为保持好的习惯,在调用自定义函数时,不要改变函数中字母的大小写。

2、预设函数

<?php
echo date('H:i:s');
echo Date('H:i:s');
?>

调用 date() 函数,输出当前的时间,注意以上代码中,虽然两次调用的是同一个函数,但是函数名的大小写不同。

输出结果:

16:43:27
16:43:27

php类名,方法名不区分大小写

php中类名以及方法名是不区别大小写的,当然你可以从下面的示例中看出来。

php代码

<?php
class Test{
    static public function Host()
    {
        echo 'http://www.feiniaomy.com';
    }
    public function Name()
    {
        echo '飞鸟慕鱼博客';
    }
}
$obj = new Test;
$obj->host();    //成功实例化Test类,并调用Host方法输出'http://www.feiniaomy.com'
$obj->HOST();    //成功实例化Test类,并调用Host方法输出'http://www.feiniaomy.com'
$obj = new test;
$obj->NAME();    //成功实例化Test类,并调用Name方法输出'飞鸟慕鱼博客'
$obj->name();    //成功实例化Test类,并调用Name方法输出'飞鸟慕鱼博客'
?>

php变量名区分大小写

php中所有变量都区分大小写,并且包括$_GET,$_POST,$_REQUEST,$_COOKIE,$_SESSION,$GLOBALS,$_SERVER,$_FILES,$_ENV 等;

示例自定义变量:

<?php
$host = 'feiniaomy.com';
echo $host;    //输出 feiniaomy.com
echo $Host;    //无结果输出
echo $HOST;    //无结果输出
?>

测试 $_POST 变量

<?php
$_POST['Name'] = '小明';
echo $_POST['Name']; //输出“小明”
echo $_POST['name']; //无输出
echo $_POST['NAME']; //无输出
?>

php 常量名是区分大小写的

php中使用 define() 定义的常量默认是区分大小写的。

示例代码:

<?php
define('Name','Mochu');
echo Name;  //输出 Mochu
echo name;  //可能会抛错,会输出 name
?>

由于 define() 函数默认区分大小写,但如果设置第三个参数为 true 则不会区分大小写。

示例代码:

<?php
define('Name','Mochu',true);
echo Name;  //输出 Mochu
echo name;  //输出 Mochu
?>

注意:无特殊要求下,define() 函数保持默认即可。

php 魔术常量不区分大小写

php中的一些魔术常量,比如:__LINE__、__FILE__、__DIR__、__FUNCTION__、__CLASS__、__METHOD__、 __NAMESPACE__等都不区分大小写。

示例代码:

<?php
echo __FILE__; //输出 /wwwroot
echo __file__; //输出 /wwwroot
echo __LINE__; //输出 4
echo __line__; //输出 5
?>

PHP 数组索引(键名)区分大小写

php中的数组键名(非数字),是区分大小写的,否则会抛出错误。

示例代码:

<?php
$arr = array(
    'host' => 'feiniaomy.com',
    'Name' => '飞鸟慕鱼博客'
);
echo $arr['host']; // 正常输出
echo $arr['Host']; // 无输出,可能会抛错
?>

其它

1、NULL、TRUE、FALSE不区分大小写

2、强制类型转换不区分大小写

比如:(int) (bool) (string) 等