php的大小写敏感问题整理
PHP对大小写敏感问题的处理比较乱,写代码时可能偶尔出问题,所以这里总结一下。
但我不是鼓励大家去用这些规则。 推荐大家始终坚持“大小写敏感”,遵循统一的代码规范。
一、大小写敏感
1. 变量名区分大小写
所有变量均区分大小写,包括普通变量以以及$_GET, $_POST, $_REQUEST, $_COOKIE, $_SESSION, $GLOBALS, $_SERVER, $_FILES, $_ENV等;
代码如下:
<?php
$abc = 'abcd';
echo $abc; //输出 'abcd'
echo $aBc; //无输出
echo $ABC; //无输出
2. 常量名默认区分大小写,通常都写为大写
(但没找到能改变这个默认的配置项,求解)
代码如下:
1 <?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
7.类型强制转换,不区分大小写,包括:
* (int),(integer) – 转换成整型
* (bool),(boolean) – 转换成布尔型
* (float),(double),(real) – 转换成浮点型
* (string) – 转换成字符串
* (array) – 转换成数组
* (object) – 转换成对象
代码如下:
<?php
$a=1;
var_dump($a); //输出 int 1
$b=(STRING)$a;
var_dump($b); //输出string '1' (length=1)
$c=(string)$a;
var_dump($c); //输出string '1' (length=1)
相关推荐
-
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对大小写敏感问题的处理比较乱,写代码时可能偶尔出问题,所以这里总结一下.但我不是鼓励大家去用这些规则.推荐大家始终坚持"大小写敏感",遵循统一的代码规范. 1. 变量名区分大小写 复制代码 代码如下: <?php $abc = 'abcd'; echo $abc; //输出 'abcd' echo $aBc; //无输出 echo $ABC; //无输出 2. 常量名默认区分大小写,通常都写为大写(但没找到能改变这个默认的配置项,求解) 复制代码 代码如下: <?ph
-
linux下使用ThinkPHP需要注意大小写导致的问题
弄了一下午,偶然想起linux是识别文件大小写的,查看了一下代码,发现实例化类的时候并没有注意文件大小写.如 $dao = D("inventoryview") 对应的视图文件是InventoryViewModel.class.php.这样在windows下跑是没问题的,但是在linux下,需要写成$dao = D("InventoryView"). 哎,小细节容易导致大问题啊.还好解决了~~嘿嘿
-
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随机字符串生成代码(包括大小写字母)
第一种:利用字符串函数操作 复制代码 代码如下: <?php function createRandomStr($length){ $str = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';//62个字符 $strlen = 62; while($length > $strlen){ $str .= $str; $strlen += 62; } $str = str_shuffle($str); return
-
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
-
让ThinkPHP支持大小写url地址访问的方法
本文实例讲述了让thinkphp支持大小写url地址访问的方法.分享给大家供大家参考.具体实现方法如下: 通常ThinkPHP默认是区别大小写url的,这种也是与linux系统一样在小写url是两个不同的名字,但我们使用windows习惯了对于大小写都认为一样的,所以还是要根据用户习惯来处理问题,下面我们一起来看问题解决方法. 在配置文件中开启了thinkphp的大小写识别功能,使链接大小写都可以正常访问: 'URL_CASE_INSENSITIVE' =>true 文件命名都是规范的,但是在模
-
PHP stristr() 函数(不区分大小写的字符串查找)
如果查找成功,则返回字符串的其余部分(从匹配点),如果没有找到该字符串,则返回 false. 版本支持:PHP 3+ 语法: stristr(string,find) 说明: string 必需.规定被搜索的字符串. find 必需.规定要查找的字符.如果该参数是数字,则搜索匹配该数字对应的 ASCII 值的字符. 提示: 该函数是二进制安全的. 该函数对大小写不敏感.如需对大小写敏感的搜索,请使用 strstr(). 例子: 例子 1 复制代码 代码如下: <?php echo stristr
-
php的大小写敏感问题整理
PHP对大小写敏感问题的处理比较乱,写代码时可能偶尔出问题,所以这里总结一下. 但我不是鼓励大家去用这些规则. 推荐大家始终坚持"大小写敏感",遵循统一的代码规范. 一.大小写敏感 1. 变量名区分大小写 所有变量均区分大小写,包括普通变量以以及$_GET, $_POST, $_REQUEST, $_COOKIE, $_SESSION, $GLOBALS, $_SERVER, $_FILES, $_ENV等: 复制代码 代码如下: <?php $abc = 'abcd'; ech
-
整理Javascript基础入门学习笔记
了解什么是变量? 变量是用于存储信息的容器 变量的声明 语法: var 变量名 变量名 = 值; 变量要先声明再赋值 变量可以重复赋值 变量的命名规则 变量必须以字母开头: 变量也能以$和_符号开头(不过我们不推荐这么做): 变量名称对大小写敏感(a和A是不同的变量). 1.语句 语句以一个分号结尾:如果省略分号,则由解析器确定语句的结尾. 有个好的编码习惯,都要以 ; 结尾 2.数据类型 在JavaScript中,一段信息就是一个值(value).值有不同的类型,大家最熟悉的类型是数字.字符
-
Git 常用命令清单(整理且详细)
git工作区,暂存区,版本库之间的关系: 我们建立的项目文件夹就是工作区,在初始化git(git init)版本库之后会生成一个 .git文件,可以将该文件理解成git的版本库repository,.git文件里面还有很多文件其中有一个index文件就是缓存区也叫stage,git还自动生成一个分支master,及指向该分支的指针head. (.命名开头的文件是不可见文件,如果想要显示文件,需要设置:打开计算机->组织->文件夹和搜索选项->查看->高级设置->显示隐藏的文件
-
日常收集整理的Git常用命令
Git 是一个很强大的分布式版本控制系统.它不但适用于管理大型开源软件的源代码,管理私人的文档和源代码也有很多优势. 查看.添加.提交.删除.找回,重置修改文件 git help <command> # 显示command的help git show # 显示某次提交的内容 git show $id git co -- <file> # 抛弃工作区修改 git co . # 抛弃工作区修改 git add <file> # 将工作文件修改提交到本地暂存区 git add
-
Perl 与 Python 之间的一些异同整理
关于 Perl 与 Python 的起源和特点 Perl 是 Practical Extraction and Report Language 的简称,由 1987 年 Larry Wall 创建,最初的目的是为了在 UNIX 上方便处理报表,经过长期的发展已经成为一种全功能的程序设计语言,当前最新的版本为 Perl5.14.1,Perl 作为一种自由而强大的编程语言,其中心思想是: There's More Than One Way To Do It.(不只一种方法來做这件事 ),即「 Tim
-
AngularJS 整理一些优化的小技巧
关于优化ng的手段网上已经有很多了,核心都是从$$watchers这个作用域内部属性说起的,今天我来说点别的,本质还是不变的,因为这是ng的硬伤,不过我相信只要运用合适的手法,这些问题还是可以避免的. ng简介 angularjs简称ng,是google出品的mvvm框架,此在提高前端项目开发效率(实践中来看确实很能提高开发效率),以控制器,指令,服务来围绕整个项目,内部以独有的DI来解决三层之前的调用问题.更多的详情信息可以参考我之前写的ng源码分析. ng的硬伤 说到硬伤就要先说下它的简单的
-
正则表达式注册表验证笔记整理
正则表达式 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符及这些特定字符的组合,组成一个"规则字符串",这个"规则字符串"用来表达对字符串的一种过滤逻辑. 正则表达式目的 1. 给定的字符串是否符合正则表达式的过滤逻辑(称作"匹配"): 2. 可以通过正则表达式,从字符串中获取我们想要的特定部分. 正则表达式的特点是 1.灵活性.逻辑性和功能性非常的强: 2.可以迅速地用极简单的方式达到字符串的复杂控制: 3.对于刚接触的
-
Java异常继承结构解析_动力节点Java学院整理
Java异常类层次结构图: 异常的英文单词是exception,字面翻译就是"意外.例外"的意思,也就是非正常情况.事实上,异常本质上是程序上的错误,包括程序逻辑错误和系统错误.比如使用空的引用.数组下标越界.内存溢出错误等,这些都是意外的情况,背离我们程序本身的意图.错误在我们编写程序的过程中会经常发生,包括编译期间和运行期间的错误,在编译期间出现的错误有编译器帮助我们一起修正,然而运行期间的错误便不是编译器力所能及了,并且运行期间的错误往往是难以预料的.假若程序在运行期间出现了错误
-
JavaScript实现判断图片是否加载完成的3种方法整理
有时候我们在前端开发工作中为了获取图片的信息,需要在图片加载完成后才可以正确的获取到图片的大小尺寸,并且执行相应的回调函数使图片产生某种显示效果.本文主要整理了几种常见的javascipt判断图片加载完成时的方法,并通过代码与实际应用相结合进行解释与说明. onload方法 通过向img标签添加onload属性,并填入相应的函数来执行后续的javascipt代码.如下代码例子中img元素默认是不显示的,通过onload判断加载完成后再将图片显示出来. 复制代码 代码如下: <img class=
-
iis访问出现各种问题(Vs访问正常)的部分处理方法详细整理
今天有园友问我一个问题,问题的大致意思就是新建了一个项目,在vs中调试都可以正常,但是在iis访问就会出现各种问题.我个人认为这个问题都很容易解决,因为园友和我离的挺远,只能通过QQ视频来操作,但是我发现这种方式的沟通确实不太方便.索性把这些问题整理一下,这样更容易的可以处理方法说明清楚. 因为我目前的项目没有这个问题存在,所以我只能是新建一个简单的项目,然后在本地操作,尽量让这个问题出现,也因为我从来没有整理过这方面额问题,现在整理一下,然后再把我遇到的一些问题整理一下,说明一下如何解决这类问
随机推荐
- 利用ASP规划聊天室
- Vue.js基础指令实例讲解(各种数据绑定、表单渲染大总结)
- 实现百度关键字搜索的批处理
- java 对象数组排序
- Java中的Runnable,Callable,Future,FutureTask的比较
- 浅析Oracle中的不等于号
- Android应用自动跳转到应用市场详情页面的方法
- C# 对文件与文件夹的操作包括删除、移动与复制
- PHP实现的简单适配器模式示例
- 如何使用jQuery技术开发ios风格的页面导航菜单
- gVim, gVim Easy, gVim Read-only 的简单区别
- Spring+SpringMVC+MyBatis深入学习及搭建(一)之MyBatis的基础知识
- knockoutjs动态加载外部的file作为component中的template数据源的实现方法
- C#图像线性变换的方法
- 利用jQuery及AJAX技术定时更新GridView的某一列数据
- 保持桌面整洁的一个好方法
- C语言数据结构 链表与归并排序实例详解
- Android读取本地或网络图片并转换为Bitmap
- 实时监控input框,实现输入框与下拉框联动的实例
- C#Winform窗口移动方法