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()

(0)

相关推荐

  • 让ThinkPHP支持大小写url地址访问的方法

    本文实例讲述了让thinkphp支持大小写url地址访问的方法.分享给大家供大家参考.具体实现方法如下: 通常ThinkPHP默认是区别大小写url的,这种也是与linux系统一样在小写url是两个不同的名字,但我们使用windows习惯了对于大小写都认为一样的,所以还是要根据用户习惯来处理问题,下面我们一起来看问题解决方法. 在配置文件中开启了thinkphp的大小写识别功能,使链接大小写都可以正常访问: 'URL_CASE_INSENSITIVE' =>true 文件命名都是规范的,但是在模

  • php根据操作系统转换文件名大小写的方法

    在php的开发中我们要包含某个文件通常的代码是这样的: 复制代码 代码如下: <?php       if(is_file($fileName))        require $flleName; 在windows,linux下运行都没有问问题: 假设现在要包含一个   D:/web/webServer/A.php文件 在传值的时误传了D:/web/webServer/a.php  在windows下运行时也会把D:/web/webServer/A.php包含进来,因为windows是不区分大

  • PHP字符串word末字符实现大小写互换的方法

    本文实例讲述了PHP字符串word末字符实现大小写互换的方法.分享给大家供大家参考.具体实现方法如下: 一.要求: 给出一个字符串如 "A journey of, a thousand 'miles' must can't \"begin\" with a single step." ,通过 PHP 程序处理变成 "a journeY oF, A thousanD 'mileS' musT can'T "begiN" witH A si

  • php的大小写敏感问题整理

    PHP对大小写敏感问题的处理比较乱,写代码时可能偶尔出问题,所以这里总结一下. 但我不是鼓励大家去用这些规则. 推荐大家始终坚持"大小写敏感",遵循统一的代码规范. 一.大小写敏感 1. 变量名区分大小写 所有变量均区分大小写,包括普通变量以以及$_GET, $_POST, $_REQUEST, $_COOKIE, $_SESSION, $GLOBALS, $_SERVER, $_FILES, $_ENV等: 复制代码 代码如下: <?php $abc = 'abcd'; ech

  • linux下使用ThinkPHP需要注意大小写导致的问题

    弄了一下午,偶然想起linux是识别文件大小写的,查看了一下代码,发现实例化类的时候并没有注意文件大小写.如 $dao = D("inventoryview") 对应的视图文件是InventoryViewModel.class.php.这样在windows下跑是没问题的,但是在linux下,需要写成$dao = D("InventoryView"). 哎,小细节容易导致大问题啊.还好解决了~~嘿嘿

  • PHP stristr() 函数(不区分大小写的字符串查找)

    如果查找成功,则返回字符串的其余部分(从匹配点),如果没有找到该字符串,则返回 false. 版本支持:PHP 3+ 语法: stristr(string,find) 说明: string 必需.规定被搜索的字符串. find 必需.规定要查找的字符.如果该参数是数字,则搜索匹配该数字对应的 ASCII 值的字符. 提示: 该函数是二进制安全的. 该函数对大小写不敏感.如需对大小写敏感的搜索,请使用 strstr(). 例子: 例子 1 复制代码 代码如下: <?php echo stristr

  • PHP英文字母大小写转换函数小结

    每个单词的首字母转换为大写:ucwords() 复制代码 代码如下: <?php$foo = 'hello world!';$foo = ucwords($foo);             // Hello World! $bar = 'HELLO WORLD!';$bar = ucwords($bar);             // HELLO WORLD!$bar = ucwords(strtolower($bar)); // Hello World!?> 第一个单词首字母变大写:uc

  • PHP随机字符串生成代码(包括大小写字母)

    第一种:利用字符串函数操作 复制代码 代码如下: <?php function createRandomStr($length){ $str = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';//62个字符 $strlen = 62; while($length > $strlen){ $str .= $str; $strlen += 62; } $str = str_shuffle($str); return

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

    PHP对大小写敏感问题的处理比较乱,写代码时可能偶尔出问题,所以这里总结一下.但我不是鼓励大家去用这些规则.推荐大家始终坚持"大小写敏感",遵循统一的代码规范. 1. 变量名区分大小写 复制代码 代码如下: <?php $abc = 'abcd'; echo $abc; //输出 'abcd' echo $aBc; //无输出 echo $ABC; //无输出 2. 常量名默认区分大小写,通常都写为大写(但没找到能改变这个默认的配置项,求解) 复制代码 代码如下: <?ph

  • Python中实现输入超时及如何通过变量获取变量名

    背景介绍 开发中遇到了一个需求:程序运行到某处时需要用户确认, 但不能一直傻等, 后面的程序不能被一直阻塞, 需要有个超时限制, 也就是这个程序如果在一段时间后还没有得到用户输入就执行默认操作. 解决思路 – 多线程法 我就想到了用多线程的方式, 开启一个子线程用stdin(比如python的input函数)获取用户输入, 主线程里设置线程启动和超时. 创建线程 Python中使用多线程很方便, threading.Threaded(函数, 参数表)然后thread.start就好了. 只是有一

  • 浅谈两个jar包中包含完全相同的包名和类名的加载问题

    首先从表现层介绍,后续后深入原理. 1.先简单介绍maven如何生成jar文件方便测试 <plugin> <artifactId>maven-assembly-plugin</artifactId> <version>2.4</version> <configuration> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptor

  • perl uc,lc,ucfirst,lcfirst大小写转换函数

    大小写字母转换: 函数 uc (uppercase) 将所有的小写字母转成大写: 函数 lc (lowercase) 将所有的大写字母转成小写: Perl提供了四个内置的函数类,从而能够轻松地改变字符和字的大小写.函数uc()会用大写返回其所有的参数,而lc()会用小写返回其参数.如果没有指定参数的话,uc()和lc()都会对$_变量进行操作. 要改变字的首字母的大小写,就要使用ucfirst()和lcfirst().和uc()以及lc()类似,如果没有指定参数,ucfirst()和lcfirs

  • Oracle 大小写转换函数实例详解

    Oracle 大小写转换函数 小写转大写UPPer 大写转小写LOWER 例: select lower(ename) from emp; select upper(ename) from emp; --是否包含字母(大写和小写) select case when regexp_like('123','.([a-z]+|[A-Z])') then '包含字母' else '不包含字母' end from dual; --是否包含小写字母 select case when regexp_like(

  • 浅谈js中的变量名和函数名重名

    今天骚凯问了一道变量名冲突的题目,感觉很有意思,顺便也复习一下预解析的一些知识,有不对的地方忘前辈大神指正,题目是这样的: var a=100; function a(){ console.log(a); } a(); 这个串代码执行完会报错 : a is not a function 问题来了,为什么会报这个错误呢? 这里涉及到函数和变量的预解析: 1)函数声明会置顶 2)变量声明也会置顶 3)函数声明比变量声明更置顶:(函数在变量上面) 4)变量和赋值语句一起书写,在js引擎解析时,会将其拆

  • php大小写转换函数(strtolower、strtoupper)用法介绍

    1,将字符串转换成小写 strtolower函数: 该函数将传入的字符串参数所有的字符都转换成小写,并以小定形式放回这个字符串. 例子: <?php $str = "I want To FLY"; $str = strtolower($str); echo $str; //by www.jb51.net ?> 输出: i want to fly 2,将字符转成大写 strtoupper函数:该函数的作用同strtolower函数相反,是将传入的字符参数的字符全部转换成大写,

  • PHP 实现人民币小写转换成大写的方法及大小写转换函数

    下面一段代码给大家分享php实现人民币大小写转换的方法,具体代码如下所示: <?php header("charset=utf-8;"); function numTrmb($num){ $d = array("零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", &q

  • 基于Python函数和变量名解析

    1.Python函数 函数是Python为了代码最大程度的重用和最小化代码冗余而提供的基本程序结构,用于将相关功能打包并参数化 Python中可以创建4种函数: 1).全局函数:定义在模块中,每个模块都是一个全局作用域,因此,全局作用域的范围仅限于单个程序文 2).局部函数:嵌套在其它函数中 3).lambda函数:表达式 4).方法:与特定数据类型关联的函数表,并且只能与数据类型关联一起使用 Python提供众多内置函数 Python创建.改变.查找变量名都是在名称空间中进行,在代码中变量名被

  • VSCode同时更改所有相同的变量名或类名的图文教程

    有的时候我们想把代码中某个变量名或类名改一下 但是如果改了,那好多地方都要一起改 如果把所有都一个一个改的话会很浪费时间 所以我们需要一些同时更改所有相同的变量名或类名的方法 多光标 我们可以使用多光标选中所有要改的地方然后一起改 如果多光标的操作不会的话可以去看我的第一篇vscode小操作,链接在文章末尾 演示:  虽然用多光标的确比一个一个改方便了一点,但是还是要用鼠标一个一个去添加光标 重命名 对于我们的类名,变量名之类的有另外一种方法,重命名 操作方式:选中类名或变量名,然后点击重命名符

随机推荐