对于一些刚接触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 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中所有变量都区分大小写,并且包括$_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中使用 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中的一些魔术常量,比如:__LINE__、__FILE__、__DIR__、__FUNCTION__、__CLASS__、__METHOD__、 __NAMESPACE__等都不区分大小写。
示例代码:
<?php echo __FILE__; //输出 /wwwroot echo __file__; //输出 /wwwroot echo __LINE__; //输出 4 echo __line__; //输出 5 ?>
php中的数组键名(非数字),是区分大小写的,否则会抛出错误。
示例代码:
<?php $arr = array( 'host' => 'feiniaomy.com', 'Name' => '飞鸟慕鱼博客' ); echo $arr['host']; // 正常输出 echo $arr['Host']; // 无输出,可能会抛错 ?>
1、NULL、TRUE、FALSE不区分大小写
2、强制类型转换不区分大小写
比如:(int) (bool) (string) 等