PHP变量规则
A:变量以 $ 符号开始,后面跟着变量的名称。
B:变量名必须以字母或者下划线字符开始,不能以数字开始。
C:变量名只能包含字母数字字符以及下划线(A-z、0-9 和 _ )。
D:变量名不能包含空格。
E:变量名区分大小写。
PHP 是一门弱类型语言
PHP 会根据变量的值,自动把变量转换为正确的数据类型。
PHP 变量作用域
PHP 有四种不同的变量作用域:
A:local
B:global
C:static
D:parameter
局部和全局作用域
在函数外部定义的变量,拥有全局的作用域(函数内部不包括)。除了函数外,全局变量可以被脚本中的任何部分访问,要在一个函数中访问一个全局变量,需要使用 global 关键字。在 PHP 函数内部声明的变量是局部变量,仅能在函数内部访问。
PHP 将所有全局变量存储在一个名为 $GLOBALS[index] 的数组中。index保存变量的名称。这个数组可以在函数内部访问,也可以直接用来更新全局变量。
全局变量 $x=5;$y=10;在函数内部使用global重新赋值
myfunction(){
$GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];
}
调用函数 myfunction() echo $y;得到的会是15.因为函数里面使用的是GLOBAL 重新赋值了。
Static 作用域
当一个函数完成时,它的所有变量通常都会被删除。然而,有时候您希望某个局部变量不要被删除。
要做到这一点,请在您第一次声明变量时使用static关键字。
function myTest(){
static $x=0;echo$x;$x++;
}
myTest();//0
myTest();//1
PHP 常量
常量是一个简单值的标识符。该值在脚本中不能改变。
一个常量由英文字母、下划线、和数字组成,但数字不能作为首字母出现。 (常量名不需要加 $ 修饰符)。
设置常量,使用 define() 函数,函数语法如下:
case_insensitive:可选参数,如果设置为 TRUE,该常量则大小写不敏感。默认是大小写敏感的。
booldefine(string$name,mixed $value[,bool$case_insensitive=false])
比如:define("URL",'www.baidu.com');
注意。常量不能再函数内或者class 对象里面设置。不然无法成为全局变量。
strlen() 函数返回字符串的长度(字符数)。注意。字符串的每一个空格也算一个长度,多个空格多个长度。
一个中文等于4个长度。如果要查询中英文混合的字符串长度,使用mb_strlen('我是中英文a','utf-8');//会返回6 如果使用的是strlen()返回的是21
strpos() 函数用于在字符串内查找一个字符或一段指定的文本。
echo strpos("Hello world!","world");//在hello world中找world的第一个字符 。但是如果找的是aworld 那是找不到的,返回false。因为在字符串中不存在这个单词
在上面的实例中,字符串 "world" 的位置是 6。之所以是 6 而不是 7 的原因是,字符串中第一个字符的位置是 0,而不是 1。
遍历数组
for循环遍历数值数组 for($i=0;$i foreach循环遍历关联数组,可以获取key和value foreach($arr as $k=>$V) sort() - 对数组进行升序排列 rsort() - 对数组进行降序排列 asort() - 根据关联数组的值,对数组进行升序排列 arsort() - 根据关联数组的值,对数组进行降序排列 ksort() - 根据关联数组的键,对数组进行升序排列 krsort() - 根据关联数组的键,对数组进行降序排列 do..while语句 $i=1; do{}while($i<=5);//当$i=5时,还是会执行一次do语句。do语句就是不管条件成立还是不成立。都要执行一次数组排序