.字符串
①获取字符串长度strlen();英文,空格,数字1个字节,汉子3个字节
②字符串截取substr('','',字符串)
<?php
function myGBsubstr($string, $start, $length) {
if (strlen($string) > $length) {
$str = null;
$len = 0;
$i = $start;
while ( $len < $length) {
if (ord(substr($string, $i, 1)) > 0xc0) {
$str .=substr($string, $i, 3);
$i+= 3;
}elseif (ord(substr($string, $i, 1)) > 0xa0) {
$str .= substr($string, $i, 2);
$i+= 2;
}else {
$str.=substr($string, $i, 1);
$i++;
}
$len ++;
}
return $str;
}else {
return $string;
}
}
?>
③首字母大写ucfirst()
④每个单词首字母大写ucwords()
⑤字符串根据某一条件分割explode()
⑥字符串转换数组str_split()
⑦字符串替换str_replace()
⑧计算指定字符串在目标字符串中最后一次出现的位置strrpos()
⑨查找字符串首次出现的位置strpos(变量名,查找对象)
⑩数组转换成字符串implode()
11、mb_substr();
在PHP中,substr()函数截取带有中文字符串的话,可能会出现乱码,这是因为中西文一个字节所占有的字节数不一样,而substr()的长度参数是按照字节去算的。substr()截取位数不准确,substr()硬生生地将一个中文字符“锯”成两半,造成断开的字符会把其后的码位拉过来一起做一个字,所以出现了PHP substr()截取中文乱码现象。PHP中有原生的解决方案,mb_substr()方法。
<?php
function GBsubstr($string, $start,$length) {
if (!function_exists(mb_substr)) {
myGBsubstr($string, $start, $length);
} else {
mb_substr($string, $start, $length, 'utf8');
}
}
?>
字符串填充:str_pad(字符串对象,填充后的长度,用什么填充,填补的位置(STR_PAD_LEFT/BOTH/RIGHT))
<?php
parse_url($url)
echo $url["host"]
域名转义:urlencode("$url")
域名反转:$urls=urlencode("$url"); urldecode($urls);
原样输出:echo “<pre>”;
array_push:数组添加(末尾);
array_key_exists检测值是否存在
用给定的值填数组:array_fill(开始下标值,个数,要填充的值)
检查是否存在正确的数据in_array("search",数组)
array_keys()获取键值
array_values();
?>
<?php
<?php
header("content-type:text/html;charset=utf-8");
//定义空数组赋值
/*$arr = [];
// $arr[0] = '张浩';
// echo $arr[0];
$arr = array();
$arr = array('name' =>'zhanghao');
print_r($arr);*/
//数组函数
//1. count(数组); 用来计算数组的长度 返回值 :整型
// $arr = [1,2,3,4,5];
// echo count($arr);
//2.array_change_key_case() 可以将数组索引中的英文字母转成大写或者小写
// $arr = array('name' =>'zhangsan','sex' =>"nan");
// print_r(array_change_key_case($arr,CASE_LOWER));
//3.array_count_values() 统计每个元素在数组中出现的次数
// $arr = 'ftyhujikldfcghjklrtyuiopghj';
// $arr1 = str_split($arr);
// print_r(array_count_values($arr1));
//4.array_fill(索引起始位置,区段大小,指定字符)用给定的值填充数组
// $arr = [1,2,3];
// $arr =array_fill(6,10,'aaa');
// print_r($arr);
//5.array_filter(数组,自定义函数)在回调函数中顾虑数组中单元
// function odd($var){
// return($var%2 ==0);
// }
// $arr = [1,2,3,4,5,6,7,8,9,10,11];
// print_r(array_filter($arr,'odd'));
//6.array_flip(数组) 交换数组中键和值
// echo "<pre>";
// $arr = [1,2,3,4,5,6,7,8,9,10,11];
// $arr = array_flip($arr);
// print_r($arr);
//7.数组指针的控制函数 next()向后移动一个 prev()向前移动一个 end();指向最后一个元素 reset()指向第一条
//key() 取得当前指针指向的下标;
//current()取得当前指针指向内容
/*$arr = [1,2,3,4,5,6,7,8,9,10,11];
next($arr);
end($arr);
reset($arr);
print_r(key($arr));
next();*/
/*8.获取数组的键名和值
//array_values()返回数组中所有的值,并且建立新的数字索引;
$arr = array('name' => 'zhang','sex' => 'nan');
//$arr = array_values($arr);
//print_r($arr);
echo "<br>";
//array_keys() 返回数组中所有的键名
print_r(array_keys($arr));*/
/*9.数组检索
返回值不同: true/false 返回值键名;false;*/
//10.extract() 数组和变量转换 语法:extract(数组);
/*11.数组与栈 数组栈(入栈和出栈)
//入栈
array_push()数组末尾添加一个元素;
array_unshift()在数组开头添加
//出栈
array_pop()删除数组末尾一个元素
array_shift()删除数组第一个元素*/
?>
数组排序
升序,键名不保持:sort()
升序,键名保持:asort()
倒序,键名保持:·krsort()
倒序,键名不保持:reverse()
array_merge( , , ,)