2015-02-02
PHP大小写问题算是一个入门级的教程了,在此电脑技术吧小编为php初学者介绍php开发中大小写的一些例子,希望可以帮助到各位。
今天写代码的时候发现自己代码的一处错误:
$m_category->Insert($data);
我调用了$m_category对象的insert方法,奇怪的是,我自己编写的框架里insert方法名是小写的,但是我这里调用的首字母大写了(公司的框架Model类的方法均为首字母大写,有时候习惯了回家写代码不容易写错)。
但是很奇怪的是,这段代码在之前的测试是通过的,并没有报错或什么,数据也正常写入了,有些思不得解,于是尝试做了一个实验。
就从控制器开始吧,我当前控制器中有一个方法是addWiki,那么我新增一个方法addwiki,然后等待了一下,IDE没有为我这个新的方法报错。松了一口气,看来PHP对大小写是敏感的。然后我尝试调用addwiki这个方法,这时候让我惊讶的事情发生了:PHP向我抛出了一个致命错误:addwiki无法被重定义。看样子PHP对方法名的大小写还是不敏感呀。
还是不死心,也许是我PHP配置的问题,于是上网查找之,找到了不少资料,原来PHP对类名和方法名是大小写不敏感的。
下面抄一些别处的资料,区分PHP大小写敏感的地方。
1. 变量名区分大小写
2. 常量名默认区分大小写
3. 函数名、方法名、类名不区分大小写
4. 魔术常量不区分大小写,推荐大写
5. NULL、TRUE、FALSE不区分大小写
除了变量名和常量名区分大小写以外,其他统统不区分。不过在我们正常的使用中,都有常量名、魔术变量使用大写的习惯,而NULL、TRUE、FALSE在不少框架中也被推荐使用大写(虽然我自己喜欢用小写),因此问题也不大。据说常量名可以设置为大小写敏感,不过没去查找这方面资料,也不清楚了,当然还是按照约定来使用大写吧。
重点就在于类、方法、函数名这一点上,好吧,我一直认为类和方法名是大小写敏感的,至今才知道:-(
不过建议还是注意大小写的好,毕竟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不区分大小写
www.zhishiwu.com
<?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入门级教程:PHP大小写问题,更多PHP教程,请访问http://www.zhishiwu.com/bc/php/
1
CI框架连接数据库配置操作以及多数据库操作
09-05
2
asp 简单读取数据表并列出来 ASP如何快速从数据库读取大量数据
05-17
3
C语言关键字及其解释介绍 C语言32个关键字详解
04-05
4
C语言中sizeof是什么意思 c语言里sizeof怎样用法详解
04-26
5
最简单的asp登陆界面代码 asp登陆界面源代码详细介绍
04-12
6
PHP中的魔术方法 :__construct, __destruct , __call, __callStatic,__get, __set, __isset, __unset , __sleep,
09-05
7
PHP中的(++i)前缀自增 和 (i++)后缀自增
09-05
8
PHP中include和require区别之我见
09-05
常用dos命令及语法
2014-09-27
将视频设置为Android手机开机动画的教程
2014-12-11
php递归返回值的问题
2014-09-05
如何安装PHPstorm并配置方法教程 phpstorm安装后要进行哪些配置
2017-05-03
java中的info是什么意思
2022-03-24
PHP 教程之如何使用BLOB存取图片信息实例
2014-09-05
IcePHP框架中的快速后台中的通用CRUD功能框架
2014-09-05
单片机编程好学吗?单片机初学者怎样看懂代码
2022-03-21
PHP数组函数array
2014-09-05
学ug编程如何快速入门?
2022-03-17
上古修仙最新版下载v10.2.29 安卓版
角色扮演 180.1M
下载最强NBA官方版下载v1.55.662 安卓版
体育运动 1.68G
下载逃跑吧少年官方正版手游下载v8.33.0 安卓2025手机版
动作闯关 1.33G
下载宝宝梦想小镇宝宝巴士最新版下载v9.87.00.00 安卓官方版
其它手游 95.9M
下载宝宝爱刷牙宝宝巴士教育版下载v9.87.00.00 安卓版
其它手游 148.0M
下载小玛丽捕鱼官方正版下载v5.13.0 安卓版
休闲益智 122.0M
下载小玛丽捕鱼旧版安装下载v5.10.10 安卓官方版
休闲益智 122.0M
下载原神bilibili服官方版下载v5.8.0 安卓哔哩哔哩服
其它手游 389.7M
下载天天捕鱼电玩版赢话费官方版下载v11.0 安卓版
下载
遇见龙2手游下载v1.1.157 安卓版
下载
太空杀国际版(Super Sus)下载v1.67.25.031 安卓版
下载
变形金刚地球之战官方版下载v25.1.1.381 安卓最新版
下载
极限捕鱼安卓版下载v6.47.6.0.5.4 赢话费正版
下载
极限捕鱼高爆版游戏下载v6.47.6.0.5.4 安卓暴击版
下载
极限捕鱼万炮版下载v6.47.6.0.5.4 安卓加强版
下载
极限捕鱼达人版下载v6.47.6.0.5.4 安卓版
下载