PHP大小写问题:函数名和类名不区分,变量名区分_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()

时间: 2024-11-03 12:31:51

PHP大小写问题:函数名和类名不区分,变量名区分_php技巧的相关文章

PHP闭包函数传参及使用外部变量的方法_php技巧

本文实例讲述了PHP闭包函数传参及使用外部变量的方法.分享给大家供大家参考,具体如下: 在Laravel控制器写两个方法,一个是在内部创建一个闭包函数,一个是执行传过来的闭包函数,测试闭包的写法,use使用外部变量,及闭包函数的传参.如下: //测试闭包传参及use使用外部变量 public function testClosure($t1, $t2) { $closure = function ($param1, $param2) use ($t1, $t2) { echo $param1.$

PHP自定义图片缩放函数实现等比例不失真缩放的方法_php技巧

本文实例讲述了PHP自定义图片缩放函数实现等比例不失真缩放的方法.分享给大家供大家参考,具体如下: function resizeImage($im,$maxwidth,$maxheight,$name,$filetype) { $pic_width = imagesx($im); $pic_height = imagesy($im); if(($maxwidth && $pic_width > $maxwidth) || ($maxheight && $pic_he

PHP数组排序函数合集 以及它们之间的联系分析_php技巧

下边提到的几个数组函数的排序有一些共性:1 数组被作为排序函数的参数,排序以后,数组本身就发生了改变,函数的返回值为bool类型.2 函数名中出现单a表示association,含义为,在按值排序的过程中,保持key=>value的对应关系不变3 函数名中出现单k表示key,含义为,在按值排序的过程中按照数组key而不是数组的值排序4 函数名中出现单r的表示reverse,含义为,按照跟不加r的相反的顺序排列5 函数名中出现单u的表示user-defined,含义为,使用用户自定义函数排序,如果

php cookie名使用点号(句号)会被转换_php技巧

这个标题不是很严格,应该说可以使用点号的cookie名,但会被转换,你命名一个cookie: $_COOKIE['my.name'] = 1; 实际上你不能通过'my.name'在cookie中查找到这个值,只能是'my_name': echo $_COOKIE['my_name']; php已经自动帮你进行了转化,句点转为了下划线. php为什么要这样做呢?这是因为$_GET/$_POST/$_SERVER/$_COOKIE...这些全局函数的值,在之前的许多版本中是可以通过register_

PHP输出数组中重名的元素的几种处理方法_php技巧

1.可以直接用php的内置函数array_intersect() array array_intersect ( array $array1 , array $array2 [, array $ ... ] ) array_intersect() 返回一个数组,该数组包含了所有在 array1 中也同时出现在所有其它参数数组中的值.注意键名保留不变. 代码: 复制代码 代码如下: <?php $array1 = array("a" => "green",

PHP表单验证的3个函数ISSET()、empty()、is_numeric()的使用方法_php技巧

ISSET();--适合于检测是否存在这个参数. 定义和作用范围:用于测试一个变量是否具有值(包括0,FALSE,或者一个空字串,但不能是NULL),即:"http://localhost/?fo="也是可以通过检测,因此不适用.但如果是"http://localhost/"参数中并不含fo参数,就可以用isset来检测,此时isset($_GET['fo'])返回false. 不适用于:该函数不适合于验证html表单中的文本的有效方式.要检查用户输入文本是否有效,

PHP使用strstr()函数获取指定字符串后所有字符的方法_php技巧

本文实例讲述了PHP使用strstr()函数获取指定字符串后所有字符的方法.分享给大家供大家参考,具体如下: PHP的strstr()函数可搜索字符串在另一字符串中的第一次出现位置,并返回字符串的剩余部分. strstr()函数定义如下: strstr(string,search,before_search) 参数说明: string 必需.规定被搜索的字符串. search  必需.规定所搜索的字符串. 如果此参数是数字,则搜索匹配此数字对应的 ASCII 值的字符. before_searc

探讨如何使用SimpleXML函数来加载和解析XML文档_php技巧

大量SmipleXML函数可用来加载和解析大量XML文档.--------------------------------------------------------------------------------1.simpleXML_load_file()函数来加载指定的XML文件到对象.如果加载文件时遇到问题,则返回FLASE.例:book.xml文件: 复制代码 代码如下: <?xml version="1.0" standalone="yes"?

php使用fsockopen函数发送post,get请求获取网页内容的方法_php技巧

本文实例讲述了php使用fsockopen函数发送post,get请求获取网页内容的方法.分享给大家供大家参考. 具体实现代码如下: 复制代码 代码如下: $post =1; $url = parse_url($url); $host ='http://www.jb51.net'; $path ='/'; $query ='?action=phpfensi.com'; $port =80;   if($post) {   $out = "post $path http/1.0 ";