- 一、array()
- 1、array_merge(array,array,array,array …)
- 2、explode (delimiter, string, $limit = null)
- 3、implode (glue = “”, array pieces)
- 4、 str_split (string, split_length = 1)
- 5、array_unique(array array, sort_flags = null)
- 6、array_keys($array)
- 7、array_values($array)
- 8、array_pop($array) 取出数组中最后一个值(与end函数用法一致)
- 9、array_shift($array)
- 10、array_push(array,vaule…)
- 11、array_unshift(array,vaule…)
- 12、count(array)
- 13、shuffle(array)
- 14、in_array($str, $array, $k=false)
- 15、array_key_exists(需要判定的键名,数组)
- 16、array_flip(array)
- 二、字符串
- 一、array()
- 1、array_merge(array,array,array,array …)
- 2、explode (delimiter, string, $limit = null)
- 3、implode (glue = “”, array pieces)
- 4、 str_split (string, split_length = 1)
- 5、array_unique(array array, sort_flags = null)
- 6、array_keys($array)
- 7、array_values($array)
- 8、array_pop($array) 取出数组中最后一个值(与end函数用法一致)
- 9、array_shift($array)
- 10、array_push(array,vaule…)
- 11、array_unshift(array,vaule…)
- 12、count(array)
- 13、shuffle(array)
- 14、in_array($str, $array, $k=false)
- 15、array_key_exists(需要判定的键名,数组)
- 16、array_flip(array)
- 二、字符串
一、array()
1、array_merge(array,array,array,array …)
{return array}依次拼接数组
//代码$array1=array(1,2,3,4,5);$array2=array(6,7,8,9,10);$array3=array_merge($array1,$array2);//拼接print_r($array3);//运行结果Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7 [7] => 8 [8] => 9 [9] => 10 )
如果我们继续到后面追加array,他讲会继续追加在数组中
//代码
$array1=array(1,2,3,4,5);
$array2=array(6,7,8,9,10);
$array3=array(11,12,13,14,15);
$array4=array_merge($array1,$array2,$array3);//拼接
print_r($array4);
//运行结果
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5[5] => 6 [6] => 7 [7] => 8 [8] => 9 [9] => 10 [10] => 11
[11] => 12 [12] => 13 [13] => 14 [14] => 15 )
2、explode (delimiter, string, $limit = null)
{return array} explode 是爆炸的意思,我们就可以相当把字符串爆炸成一个数组
1.delimiter 从某个字符开始打断
作为分割用的字符将当作标识符,数组不会出现啦
2.string 需要打断的字符窜
3.limit 当不输入这个值的时候,打断所有,输出之后,从第一位开始打几次
//代码
$str='1,2,3,4,5,6';
$arr=explode(',',$str);
print_r($arr);
//运行结果
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 )
那么limit 是什么意思呢?下面我们通过列子来得出结果
//代码
$str='1,2,3,4,5,6';
$arr=explode(',',$str,2);
print_r($arr);
//运行结果
Array ( [0] => 1 [1] => 2,3,4,5,6 )
//代码
$str='1,2,3,4,5,6';
$arr=explode(',',$str,4);
print_r($arr);
//运行结果
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4,5,6 )
第三个值为4 所以从一位开始数,总共打断了四位
3、implode (glue = “”, array pieces)
{return string} 把数组里面的每一个值链接成一个字符串
//还有一个join函数 用法与implode一致
//代码
$arr=array(1,2,3,4,5,6);
$string=implode($arr);
print_r($string);
//运行结果
123456
当输入第一个值的时候
//代码
$arr=array(1,2,3,4,5,6);
$string=implode('!',$arr);
print_r($string);
//运行结果
1!2!3!4!5!6
第一个值 两值之间的连接符号
4、 str_split (string, split_length = 1)
{return array}
以长度作为分割条件,默认是 1
$str='123456';
$arr=str_split($str);
print_r($arr);
//运行结果
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 )
当输入第二个值的时候
$str='123456';
$arr=str_split($str,3);
print_r($arr);
//运行结果
Array ( [0] => 123 [1] => 456 )
split_lenth的意思是每几个字符分割成一个数组。不填默认唯一
5、array_unique(array array, sort_flags = null)
{return array}
去除数组中重复的值
应该是剔除重复值的元素,使之剩下一个(保留的是重复值的第一个,其他的包括键值都会被去除)
$arr=array(1,1,2,3,4,5,6);
$arr2=array_unique($arr);
print_r($arr2);
//运行结果
Array ( [0] => 1 [2] => 2 [3] => 3 [4] => 4 [5] => 5 [6] => 6 )
数组中重复的1被删除了 只留下了一个
6、array_keys($array)
取出数组中的键值,并组合成一个数组
$arr=array(1,3,4,5,"0"=>564646);
$arr2=array_keys($arr);
print_r($arr2);
//输出
Array
(
[0] => 0
[1] => 1
[2] => 2
[3] => 3
)
7、array_values($array)
取出数组中值
$arr=array(1,3,4,5,"a"=>564646);
$arr2=array_values($arr);
print_r($arr2);
//输出
Array
(
[0] => 1
[1] => 3
[2] => 4
[3] => 5
[4] => 564646
)
8、array_pop($array) 取出数组中最后一个值(与end函数用法一致)
$arr=array(1,2,3,4,5,6);
$arr2=array_pop($arr);
print_r($arr2);
//运行结果
6
9、array_shift($array)
取出数组中第一个值 (与reset函数用法一致)
10、array_push(array,vaule…)
把值追加在数组的最后一位
等价于arr[]=arr[ ]=arr[]=vaule;
$arr=array('1','2','3','4','5','6');
array_push($arr,'2','3');
print_r($arr);
//运行结果
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 2 [7] => 3 )
11、array_unshift(array,vaule…)
在数组开头插入一个或多个单元
$arr=array('1','2','3','4','5','6');
array_unshift($arr,'2','3');
print_r($arr);
//运行结果
Array ( [0] => 2 [1] => 3 [2] => 1 [3] => 2 [4] => 3 [5] => 4 [6] => 5 [7] => 6 )
12、count(array)
返回数组长度
13、shuffle(array)
打乱数组(该函数所以打乱的顺序是随机的)
$arr=array('1','2','3','4','5','6');
shuffle($arr);
print_r($arr);
//运行结果
Array ( [0] => 2 [1] => 3 [2] => 1 [3] => 4 [4] => 6 [5] => 5 )
14、in_array($str, $array, $k=false)
判断array的值中
- 第二个参数为数组
- 第三个参数默认false,为 ==
- 第三个参数改为true,为===
$str="111";
$array=[0=>"222","111"=>"555",2=>111];
in_array($str, $array, false) //返回true
in_array($str, $array, true) //返回false
基本常用的大概只有这些了,后续的用法会继续添加
15、array_key_exists(需要判定的键名,数组)
$str="111";
$array=[0=>"222","111"=>"555",2=>111];
array_key_exists($str, $array); //返回true
16、array_flip(array)
$list = [];
for($i = 0; $i < 1000000; $i++) {
$list[] = $i;
}
for($i = 0; $i < 1000000; $i++) {
$list['a' + $i] = $i;
}
$startTime = time();
array_flip(array_flip($list));
$endTime = time();
var_dump($startTime, $endTime);
- 键值替换
- 连续使用俩次,可以达到去重的效果
- 如果是要去重,使用俩次array_flip比使用array_unique快5倍:俩次array_flip保留的是后面重复的值;array_unique保留的是前面重复的值
二、字符串
1、str_replace($str1, $str2, $str)
匹配查找str1的部分,并将其替换为$str2(在改次字符中,不能被拿去二次替换)。
在 $str2 为字符串的前提下
- $str1可为 数组或字符串,规定了匹配的字符
- $str为字符时,返回字符;为数组时,返回数组;数组中每一个元素都依 $str1 进行匹配。
- 匹配到的以 $str2替换
在$str2为 数组的前提下
- $str1可为 数组或字符串,规定了匹配的字符
- $str为字符时,返回字符;为数组时,返回数组;数组中每一个元素都依 $str1 进行匹配。
- $str1为数组时, 则此时 替换的字符 为 $str2中与之位置对应的字符(若没有对应的字符,则以 ‘’ 替换)。
