php学习笔记

tirm($str);	//去除字符串左右两边的空格和特殊字符 
ltirm($str,"");	//去除字符串左边的空格和特殊字符
rtirm($str,"");	//去除字符串右边的空格和特殊字符
$str=" 1h2s3f he ";
echo trim($str);	//输出的是 "1h2s3f he"

//获取字符串长度
strlen()	//可以获取字符串的字符长度,中文字符占3个字节
$str1="好好学习天天向上";
echo strlen($str1);	//输出24

mb_strlen()	//不能正确的处理中文字符串
$str1="好好学习天天向上";
echo mb_strlen($str1);	//输出8

//截取字符串
substr($str,start,end);	//用来截取英文字符串。截取中文字符串会输出乱码。start开始截取的位置,包括开始的字符,开始为0,负数的话就是从最后面开始数起。end结束截取的个数
$str="好好学习天天向上";
echo substr($str,0,11);	//输出"好好学��"
$str="abcdefghijk";
echo substr($str,0,5);	//输出"abcde"

mb_substr();	//用来截取中英文或者中文字符串
$str="hh学习tt向上";
echo mb_substr($str,0,3);	输出"hh学"


//检索字符串
strstr($str,"");	//相当于截取第一个出现的字符串到末尾这串字符。区分大小写
$str="hh学习Tt向上";
echo strstr($str,"t");	//输出"t向上"
//在后面加true为截取从出现的第一个字符串到开头的字符。默认为false
echo strstr($str,"t",true);	//输出"hh学习T"

stristr($str,"");	//不区分大小写

strpos($str,"");	//检索字符首次出现的位置,返回出现的位置数字,位置数字从0开始。若未找到的话,返回空值。区分大小写
$str="hhyjtuuuu";
echo strpos($str,"j");	//输出3

stripos($str,"");	//不区分大小写

strrpos($str,"");	//检索字符最后一次出现的位置,区分大小写

strripos($str,"");	//不区分大小写

//替换字符串
str_replace($a,$b,$str,$count);	//$a需要替换的字符;$b替换后输出的字符;$str字符串;$count替换的个数。中文也能替换
$str="1234hhh56789";
echo str_replace("hhh","***",$str,$count);	//输出"1234***56789"

substr_replace($str,$a,start,count);	//$a把目标替换成$a;start替换字符的开始位置,中文字符占3个字节,处理不好会乱码;count从开始位置数起几个字符	
$str="1234567890";
echo substr_replace($str,"****",3,4);	//输出"123****890"


//分割字符
explode($a,$str);	//$a需要分割的字符,会返回一个数组,不能用echo输出数组,可以用var_dump()输出数组

//合成字符串
implode($a,$arr);	//将一个数组合成一个字符串
$arr=[1,3,4,5,7,9,11];
$str= implode("+",$arr);
echo $str;	//输出"1+3+4+5+7+9+11"

//正则表达式
preg_match('正则表达式',$str);	//这个函数用于执行匹配正则表达式
$str="12345678900";
if(preg_match('/\d{11}$/',$str)){
    echo '字符串为纯数字';
}else{
    echo '字符串不是为纯数字';
}
//输出'字符串为纯数字' 

//循环数组	$keys为键值	$list为值
$str=array('a'=>'1','b'=>'2','c'=>'3');
foreach ($str as $keys=>$list){
    echo $keys.":".$list.'<br>';
}

//统计数组元素个数
count($str,$mode);	//$mode默认为0,以最外层数组为准;若为1的话就是为递归,对一维数组不影响,二维数组要计算嵌套的数组个数,1也可以用"COUNT_RECURSIVE"来代替
$str=array('a'=>'1','b'=>'2','c'=>'3');
echo count($str);	//输出为"3"

$str=array(
	'a'=>'1',
	'b'=>'2',
	'c'=>'3',
	'd'=>array(
		'e'=>'4',
		'f'=>'5')
	);
echo count($str,1);	//输出为"6",外层(一维数组a,b,c,d)4个+内层(二维数组e,f)2个

//查询数组中指定元素
array_search($a,$b[,$c]);	//$a需要查询的元素名称	$b是$a所在的数组	$c为选填,默认为false,当设置为true时,既要查询值也要判断类型		array_search()返回的是该元素在数组中的下标位置,若未找到则返回false;注意:用var_dump()才能得到返回值为false,用echo则输出空
$str=['a','b','c'];
$str1=['张三','李四','王五'];
$key=array_search('c',$str);
if($key){
    echo $str1[$key];	//输出'王五'
}else{
    var_dump($key);		//输出false
}

$str2=array('a'=>'张三','b'=>'李四','c'=>'王五');	//abc相当于下标
$key=array_search('王五',$str2);
if($key){
    echo $key;	//输出"c"
    echo $str2[$key];	//输出"王五"
}else{
    var_dump($key);		//输出false
}

//获取数组中最后一个元素
array_pop();	//返回数组的最后一个元素,即便是一个二维数组,也是返回最外层的最后一个元素;并使数组长度-1;若数组为空或者不是数组,返回null
$str2=array('a'=>'张三','b'=>'李四','c'=>'王五');
$str=[];
var_dump(array_pop($str));	//输出"NULL"
var_dump(array_pop($str2));	//输出"王五"
var_dump($str2);	//输出"张三李四"

//向数组中添加元素
array_push($str,$a);	//$a往$str中添加的元素,往末尾添加元素
$str2=array('a'=>'张三','b'=>'李四','c'=>'王五');
var_dump(array_push($str2,'陈'));	//返回总长度'4'
var_dump($str2);	//输出"张三李四王五陈"

//删除数组中重复元素
array_unique($array);	//返回删除后新的数组

//排序函数
sort($array);	//从低到高排序,返回排序后新数组,不保持索引关系,就是下标重新排序
rsort($array);	//从高到底
asort($array);	//从低到高排序	保持原本的索引(下标)关系
arsort($array);	//从高到底

//数组计算函数
array_sum($array)	//计算数组中所有值的和,中文和英文排除在外
array_merge($array,$array1,...);	//合并一个或者多个数组,不删除重复元素
array_diff($array,$array1,...);		//删除$array中有$array1...数组里的元素
array_diff_assoc($array,$array1,...);	//对比$array,$array1的下标和值,当2个都相同的话,就删除,不同则留下,并且保持原本索引关系
array_intersect($array,$array1,...);	//获取数组共有的元素
array_intersect_assoc($array,$array1,...);	//获取数组共有的元素,当下标和值都相同

//构造、析构方法	__construct 固定,不能更改;初始化对象时使用;	__destruct 固定,不能更改;对象被销毁时调用
class on{
    public $a;
    public $b;
    public function __construct($a,$b)	//若不使用__construct,方法使用的值应该写在add($a,$b)里面
    {
        $this->a=$a;
        $this->b=$b;
        echo "初始化";
        echo "<br>";
    }
    public function add(){
        $c=$this->a+$this->b;
        echo $c;
    }
    public function __destruct()
    {
        echo "<br>";
        echo "销毁";
    }
}
$p=new on(5,1);
$p->add();	//输出	"初始化"	"6"		"销毁"


$this->属性	//调用这个属性
$this->方法	//调用这个方法
//::作用域操作符
//关键字::常量名/变量名/方法名
parent::	//调用父类
self::		//调用自己
类名::		//调用类名

//php分页
$data=array();	//数据
$page = 2;	//每页几条数据
$newPage = isset($_GET['page']) ? $_GET['page'] : 1 ;	//第几页?page=1为第一页,判断url地址上的page参数
$checkData = array_splice($data,($newPage-1)*$page,$page);	//array_splice从数组中移除元素,并用新元素取代它;开始的位置为(页码-1)*页数


//php的请求url	
//例:http://xuexi.php.com/tp/index.php/Home/index/btn	
// http://xuexi.php.com:主机名(域名)
//	tp:应用名称
//	index.php:项目的入口文件
//	Home:模块名称
//	index:控制器名称
//	btn:控制器里的方法名
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值