PHP 常量
过程中代码:https://gitee.com/dgwcode/php_learning 下 base_grammar 目录下
定义
常量是一个简单值的标识符。该值在脚本中不能改变。
一个常量由英文字母、下划线、和数字组成,但数字不能作为首字母出现。 (常量名不需要加 $ 修饰符)。
定义常量
bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )
☐ 第三个参数为 是否检测大小写关系
获取常量
function constant (string $name) {}
检查常量是否定义
function defined (string $name) {}
默认自带的常量:也叫预定义常量
记住: 常用的两个带双下划线的常量名
PHP 变量
定义:
其值可以改变的量称为变量。变量为开发人员提供了一个有名字的内存存储区,程序中可以通过变量名对内存存储区进行读、写操作。为了确定每个变量内存存储区的大小,存储区中可以存放数据范围,以及变量可以使用的运算符
声明与赋值
$shop_price = “啊” # $为声明的符号, = 为赋值的符号 //直接赋值
$str2 = $str1; ///传值赋值
变量类型
PHP 一共有八种数据类型可以供我们用来构造变量:
整型: 是整数,没有小数点,像 4195。
浮点型: 浮点数,如 3.14159 或 49.1。
布尔值: 只有两个可能值或真或假。
空: 是一种特殊的类型只有一个值:空。
字符串类型: 字符序列,像'PHP 支持字符串操作'
数组: 有命名和索引所有值的集合。
对象: 是程序员定义类的实例化,可以打包其他类型的值和属于这个类的函数。
资源: 特殊变量持有引用外部资源到 PHP(如数据库连接)。
转义序列替换:
换取新的一行由 所代替
回车键由 所代替
制表符由 所代替
$ 符号由$所代替
双引号(“)由 ”所代替
单一的反斜杠由\所代替
变量的四大类型:
局部变量
在所有函数外部定义的变量,拥有全局作用域。除了函数外,全局变量可以被脚本中的任何部分访问,要在一个函数中访问一个全局变量,需要使用 global 关键字。
提前介绍一下预定义变量:$GLOBALS 即为所有的变量一旦被声明都会被保存在这个变量下;
访问:
echo $GLOBALS["a"];
函数参数
参数是通过调用代码将值传递给函数的局部变量。
全局变量
在函数外面声明的变量 可以很好的配合 $GLOBALS使用;
静态变量 STATIC
当一个函数完成时,它的所有变量通常都会被删除。然而,有时候您希望某个局部变量不要被删除0。将会被保留,要做到这一点,请在您第一次声明变量时使用 static 关键字:
引用赋值:&
可以按照C++的引用理解
可变变量: 变量的值作为另一个变量的标志 双$$实现
预定义变量:
前面有预定义常量那么肯定就有预定义变量:其中很多是以后交换式编程必须要用到的内容
:都是以$开头 接着_ 如果是服务器 字段数组包含内容 剩下几个又是必须要记忆,
总结:
1、定义在函数外部的就是全局变量,它的作用域从定义处一直到文件结尾。
2、函数内定义的变量就是局部变量,它的作用域为函数定义范围内。
3、函数之间存在作用域互不影响。
4、函数内访问全局变量需要 global 关键字或者使用 $GLOBALS[index] 数组
5. 与C语言一样在 php 中函数是有独立的作用域,所以局部变量会覆盖全局变量,即使局部变量中并定义没有全局变量相同的变量,也会被覆盖
6. 要想在函数中直接使用全局变量可以通过 global 关键字声明或者通过 php 中自定义的 $GLOBALS数组获取:
运算符
有语言基础 ...大同小异 有一个不同点就是PHP 有一个混合mixed 值 ,可以容纳基本包含的所有数据类型。
忘记请移步 http://wiki.jikexueyuan.com/project/php/operator-types.html
几个函数
function var_dump ($expression, $_ = null) {} //求值 、 类型、字符串长度
function intval ($var, int $base = null) {} //转换为int类型
function floatval ($var) {} 、。。
function strval ($var) {} 、、、、
function settype (&$var, string $type) {} //设置类型 第二个参数 为要转换的类型
有如下类型
* "boolean" or "bool" * <br> * "integer" or "int"* <br> * "float" or "double"
* <br>* "string"* <br>* "array"* <br>* "object"* <br>* "null"
运算符优先级
重点:
布尔与数字进行算数运算 True >1 False >0
字符串类型与数值类型运算的,如果字符串以数字打头 将会转为相应的数字,否则转为整数0
字符串连接运算时 整数、浮点、将转为字符串类型,True》1 布尔值 False和NULL 转换为空字符串。
在进行逻辑运算时 整数0、浮点数0.0、空字符串、" " 字符串0 NUll 还有空数组将会被转为False。其他为True
常见输出:
echo(): 可以一次输出多个值,多个值之间用逗号分隔。echo是语言结构(language construct),而并不是真正的函数,因此不能作为表达式的一部分使用。
print(): 函数print()打印一个值(它的参数),如果字符串成功显示则返回true,否则返回false。
print_r(): 可以把字符串和数字简单地打印出来,而数组则以括起来的键和值得列表形式显示,并以Array开头。但print_r()输出布尔值和NULL的结果没有意义,因为都是打印" "。因此用var_dump()函数更适合调试。打印数组
var_dump(): 判断一个变量的类型与长度,并输出变量的数值,如果变量有值输的是变量的值并回返数据类型。此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。