php笔记(常量+变量+数据类型+数组基础)

php注释和分隔符和运算符
行注释://或#	
块注释:/**/
分隔符:;		
打印:echo 打印内容
连接运算符:
	. :将两个字符串连接到一起
	.= :将后一个值赋给前一个值
错误抑制符:
	@:限制报错 @(1 % 0)	

变量

定义变量:$变量名,存在内存中。
删除变量:unset($变量名)
预定义变量(系统定义的变量,都是数组):
	常用:
		$_GET:获取所有表单以get方式提交的数据
		$_POST:获取以post方式提交的数据
		$_REQUEST:get和post提交的数据
		$_SERVER:服务器信息
		$_SESSION:session会话数据
		$_COOKIE:Cookie会话数据
	不常用
		$GLOBALS:php中的全局变量
		$_ENV:环境信息
		$_FILES:用户上传的文件信息
可变变量:
		通过多加一个$执行
		例:
			$a = 'b';
			$b = 'bb';
			echo $$a;   //bb
变量传值
	值传递:
		将$a的值传递给$b,两个变量不相互影响
	引用传递:
		将$a的内存地址传递给$b,两个变量相互影响,通过&来实现
		$a = 3;
		$b = &$a;

变量传值底层原理

常量

定义常量(通常以大写为主,不需要$):
	方式一:define('常量名',常量值)
		注:
			1.特殊字符必须用define
			2.使用特殊字符的常量:constant('常量名')
	方式二:const 常量名 = 常量值		
系统常量:
	常用:
		PHP_VERSION:php版本号
		PHP_INT_SIZE:整形大小
		PHP_INT_MAX:整形能表示的最大值(允许出现负数)
	系统魔术常量(由双下划綫+常量名+双下划綫结束,会跟着环境变化,但用户改变不了)
		__DIR__	:当前被执行的脚本所在电脑的绝对路径
		__FILE__:当前被执行的脚本所在电脑的绝对路径(带自己文件的名字)
		__LINE__:当前所属的行数
		
		__NAMESPACE__:当前所属的命名空间
		__CLASS__:当前所属的类
		__METHOD__:当前所属的方法

数据类型

简单数据类型:
	整形:int/integer,4byte,
		定义方式:
			$a = 120; //10进制
			$a = 0b110; //2进制
			$a = 0120; //8进制
			$a = 0x120; //16进制
		输出时会自动转换成10进制
			
	浮点型:float/double,8byte
	
															
	布尔类型:bool/boolean (true = 1,false =0或者不显示)
复合数据类型:
	对象类型:object,存放对象(面向对象)
特殊数据类型:
	资源类型:resource,存放资源数据(PHP外部数据,如数据库,文件)
	空类型:NULL,只有一个值就是NULL(不能运算)
类型转换:
	1.自动转换:
	2.强制转换:$a = (数据类型)$b

类型转换

类型判断
通过函数进行判断:
	is_数据类型(变量名)return boolean类型
	var_dump()来查看boolean类型
	gettype(‘变量名’)来得到数据类型
	settype(‘变量名’,变量类型)设置数据类型
	isset() 是否存在, 指内存中的数据
	empty()是否为空, 指数据的值
字符串型:string
		结构化定义:上标记符后面不能跟随任何内容,下标记符必须顶格,并且只能跟分号
			heredoc:$变量名 = <<<标记符
									内容
								标记符;
			nowdoc:$变量名 = <<<‘标记符‘
									内容
								标记符;
			结构化定义可以保证数据的结构不被打乱。可以在浏览器通过查看源码可知。	
		字符串转义:
			\' : 在单引号字符串中显示单引号,双引号不能识别
			\" :在双引号字符串中显示双引号,双引号总可以识别$变量,单引号不行
			\r :代表回车
			\n :代表新一行
			\t :类似tab键,输出4个空格
			\$ :在PHP中使用$符号作为变量符号,因此需要特定识别
		字符串长度:
			1.基本函数strlen():得到字符串的长度(字节)	
			2.多字节扩展模块:mbstring扩展(mb:Multi Bytes)
				首先加载php的mbstring扩展

开启多字节扩展

字符串相关函数
转换函数:
	implode(连接方式,数组):将数组中的元素按照某个规则连接成一个字符串
	explode(分割字符,目标字符串):将字符串按照某个格式进行分割,变成数组
	str_split(字符串,字符长度):按照指定长度拆分字符串得到数组
截取函数:
	trim(字符串):默认取出两边的空格,按指定内容循环去除两边的内容
	itrim(字符串):去除左边的
	rtrim(字符串):去除右边的
	substr(字符串,起始位置从0开始,长度):指定位置开始截取字符串
	strstr(字符串,匹配字符):从指定位置开始,截取到最后(取文件后缀名)
大小写转换函数:
	strtolower(字符串):	全部小写
	strtoupper(字符串):全部大写
	ucfirst(字符串):首字母大写
查找函数:
	strpos(字符串,查找字符):判断字符在目标字符串中出现的位置(首次)
	strtpos(字符串,查找字符):判断字符在目标字符中出现的位置(最后)
替换函数:
	str_replace(被替换的内容,替换的值,字符串):将目标字符串的部分字符进行替换
格式化函数
		printf/sprintf(输出字符串有站位符,顺序占位符内容):格式化输出数据
	$age = 50;
    $name = 'xiaoming';
    echo sprintf("你好,今年我%d岁,我叫%s",$age,$name);
其他:
	str_repeat(字符串,次数):重复某个字符串N次
	str_shuffle(字符串):随机打乱字符串
数组类型(类似于集合):
定义数组:
	1. array关键字:$变量 = array(下标 => 元素1,下标 => 元素2...)
	2. $变量 = 【元素1,元素2......】
	3. 隐形定义数组,给变量增加一个中括号
		$变量【】 = 值1;
		$变量【下标】 = 值	
特性:
	1.数组元素的顺序以存入先后为准,和下标无关
	2.数组元素的数据类型可以不同
	3.特殊值下标自动转换,如:true,false,null	
	4.数组下标可以不为数字	
 异形数组
 	数组中有各种类型的元素被称为异形数组
数组遍历
foreach遍历语法:
	foreach( $数组变量 as [ $下标 => ] $值 ){
		//通过 $下标 访问元素的下标,通过 $值 访问元素的值
	}
for循环语法:
	1.获取数组长度count(数组名)
	2.下标必须规律
	for( $i = 0; $i < count(数组名);$i++){
	}	
while配合each和list遍历数组:
	each函数:each(数组)能够从一个数组中获取当前数组指针所指向的元素的下标和值,拿到之后指针下移,同时拿到元素下标和值,并以一个有四个元素的数组返回
	0下标 => 取得元素的下标值
	1下标 =>取得元素的值
	key下标 => 取得元素的下标值
	value下标 => 取得元素的值
	注:当数组循环结束时,返回false。
 $arg2 = [1,'fadf',3123,'afa'];
    echo '<pre>';
    print_r(each($arg2));
    print_r(each($arg2));
    /*
        Array
        (
            [1] => 1
            [value] => 1
            [0] => 0
            [key] => 0
        )
        Array
        (
            [1] => fadf
            [value] => fadf
            [0] => 1
            [key] => 1
        )
     */
list函数:是一种结构。它会将数组的值赋给自己提供的变量
注:
	数组的下标必须是从0开始的有序下标
	变量不能多于数组元素
list($变量1,$变量2) = $array;
$arg2 = [1,'fadf',3123,'afa'];
    list($a,$b) = $arg2;
    print_r($a);
    print_r($b);
    /* 1  fadf */
使用while + list + each
 $arg2 = [1,'fadf',3123,'afa'];
    while(list($key,$value) = each($arg2)){
        print_r('key:' . $key . 'value:' . $value);
        echo '<br/>';
    }
    /*
     key:0value:1
    key:1value:fadf
    key:2value:3123
    key:3value:afa
     */
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值