您的位置:首页 > 编程语言 > PHP开发

我学PHP整理的数组与字符串常用函数

2011-11-28 19:52 916 查看
 
<?php

function dump($d){

 echo '<pre>';

 var_dump($d);

 echo '</pre>';

}

//数学函数

//数学计算

//abs():求绝对值

//pow():nci方

echo abs(-5.1);  //5.1

echo abs(-4.9);  //4.9

//ceil():进一取整

//floor():退一取整

echo ceil(4.1);  //5

echo floor(4.9); //4

//求最值

//max():求最大值

//min():求最小值

echo max(4,6,2,3); //6

echo min(4,6,2,3); //2

//进制转换函数

//decbin():十进二

//bindex():二进十

echo decbin(10); //1010

echo bindec(1010); //10

//其他数学函数

//mt_rand():高效取随机数

//pi():圆周率

echo mt_rand(4,20);

echo pi();  //3.14159265359

 

 

 

//数组函数

//1数组指针函数

//current():pos():返回数组当前指针的值

//key():返回数组当前指针的键

//prev():数组当前指针向上移动一位

//next():数组当前指针向下移动一位

//end():数组指针移到最后

//reset():数组指针移到第一位

$arr=array('临','兵','斗','者','绅');  //string(3) "临"

dump(current($arr));    //int(0)

dump(key($arr));

next($arr);

next($arr);

dump(current($arr));    //string(3) "斗"

prev($arr);

dump(current($arr));    //string(3) "兵"

end($arr);

dump(current($arr));    //string(3) "绅"

reset($arr);

dump(current($arr));    //string(3) "临"

//2数组键值操作

//array_values():返回数组中所有的值

//array_keys():返回数组中所有的键

//array_key_exists():判断数组中的某个键是否存在

//in_array():判断数组中的某个值是否存在

//array_search():搜索数组中的值是否存在,存在返回键名

//array_flip():键和值互换

//array_reverse():反转数组

dump(array_values($arr));

dump(array_keys($arr));

dump(array_flip($arr));

dump(array_reverse($arr));

dump(in_array('临',$arr));   //bool(true)

dump(array_search('临',$arr));   //int(0)

dump(array_key_exists('0',$arr));  //bool(true)

//3数组元素个数与唯一性

//array_count_values():计算数组中的值出现得个数

//count():计算数组中元素的个数

//array_unique():删除数组中重复的值

$arr[]='临';

dump(array_count_values($arr));

dump(count($arr));

dump(array_unique($arr));

//4数组的简单排序

//a.根据字母,数字升序排序

//sort():

//rsort():

$a=array('1'=>'a','20'=>'b','3'=>'A','4'=>'B','7'=>'1','5'=>'2','60'=>'3');

//sort($a);

//dump($a);

//rsort($a);

//dump($a);

//b.根据键名排序

//ksort():

//krsort():

dump($a);

ksort($a);

dump($a);

krsort($a);

dump($a);

//c.根据键值排序,并保持索引

//asort():

//arsort():

asort($a);

dump($a);

arsort($a);

dump($a);

//d.根据自然排序方法

//natsort():

//natcasesort();

natsort($a);

dump($a);

natcasesort($a);

dump($a);

//e,根据用户自定义排序

//uasort():

//uksort():

//usort():

//5堆栈数组函数

//array_push():在数组尾部插入一个或多个元素

//array_pop():在数组尾部弹出一个元素

//array_unshift():在数组头部插入一个或多个元素

//array_shift():在头部弹出一个元素

$first=array_pop($arr);

echo $first;   //临

$last=array_shift($arr);

echo $last;   //临

array_push($arr,'皆','列');

dump($arr);

array_unshift($arr,'临');

dump($arr);

//6.拆分,合并,分解,组合数组

//array_slice():在数组中取出一段值,并返回.如果数组键名中有字符串,保留索引关系

//array_splice():选择数组中的一系列元素,删除它们,还可以用其他值替换

//array_combine():合并2个数组,一为键,一为值

//array_merge():合并多个数组,重复的值会被最后一个覆盖

//array_intersect():取数组交集

//array_diff():取数组并集

dump(array_slice($arr,2,3,true));

dump(array_splice($arr,3));

//dump(array_splice($arr,3,2));

$arr1=array('你','懂','的','write');

$arr2=array('how','to','write','你');

dump(array_combine($arr1,$arr2));

dump(array_merge($arr1,$arr2));

dump(array_intersect($arr1,$arr2));

dump(array_diff($arr1,$arr2));

//7其他有用函数

//array_rand():随机取得数组的一个或多个键名

//array_sum():计算数组中值的和

//shuffle():打乱数组

//range():创建一个新数组

$arr=array('华'=>'春','月'=>'夏','实'=>'秋','阳'=>'冬');

dump($arr);

dump(array_rand($arr,2));

dump(array_sum($arr));

shuffle($arr);

dump($arr);

dump(range(4,16,3));

//8数组回调函数

//array_filter():用回调函数过滤数组中的元素

//array_walk():函数对数组中的每个元素应用回调函数处理,如果成功返回true

//array_map():可处理多个数组

 

 

 

 

 

 

//字符串函数

//1去除空格

//trim():去除空白字符,或者指定字符

//ltrim():

//rtrim():

$path='c://windows/user/';

$path=rtrim($path,'/');

 

//2字符串填充

//str_pad():把字符串填充为新的长度

$pad=str_pad('my name is zhaoke',20,'a');

dump($pad);

//3字符串大小写转换

//strtoupper():把字符串转换为大写

//strtolower():把字符串转换为小写

//ucfirst():把字符串首字符换为大写

//ucwords():把字符串每个首字母大写

$name='zhaoke is best';

$name1='zhaoke IS best';

echo strtoupper($name);

echo strtolower($name);

echo ucfirst($name);

echo ucwords($name);

//4和html相关联的函数

//addslashes():使用反斜线引用字符串

//stripslashes():还原转义字符

//addcslashes():使用反斜线引用c风格字符串

//stripcslashes():还原C语言风格转义字符串

define('MA',get_magic_quotes_gpc()?0:1);

if(MA){

 $username=addslashes($_GET['name']);

}

$username=stripslashes($username);

//nl2br():把\n替换为<br/>

//strip_tags():去除html,xml,php风格标记

//htmlspecialchars():把html标记的特殊字符串抓换为html实体

//htmlentities():将非ascII代码转换为对应的实体代码,//可以转义更多的html实体

echo nl2br("one line \n another line");

$str3='<font color="red">这是红色</font>';

echo $str3;

echo strip_tags($str3);

$str4="<b>我是做自己</b>";

dump(htmlspecialchars($str4));

 

//5其他字符串格式化函数

//strrev():反转字符串

//strlen():获取字符串长度

//number_format():通过千分位来格式化数字

//md5():md5加密

echo strrev($name);

echo strlen($name);

$number='234565665';

echo number_format($number);

echo md5($name);

//6字符串比较函数

//strcmp():比较字符串,前面大,返回1 一样大,返回0 后面大,返回-1

//strcasecmp():不区分大小写比较字符串

//strncmp():根据指定长度比较字符串

echo strcmp($name,$name1);

echo strcasecmp($name,$name1);

echo strncmp($name,$name1,7);

//strnatcmp():自然方式比较字符串

//strnatcasecmp():自然方式不区分大小写比较字符串

echo '<br/>';

$str1='a10A';

$str1='a2a';

echo strnatcmp($str1,$str2);

echo strnatcasecmp($str1,$str2);

//字符串模糊比较

//similar_text():比较字符串同个数

echo similar_text($name,$name1);

//7字符串的分割拼接,截取

//explode():根据指定字符分割字符串为数值

//implode():根据指定元素将数组拼接为字符串

//substr():从字符串中取出一段函数

$str='赵|科|有|恒|心|有|毅|力';

$b=explode('|',$str);

dump($b);

$s=implode('|',$b);  //string(31) "赵|科|有|恒|心|有|毅|力"

dump($s);

$s=substr($s,0,-3);  //string(28) "赵|科|有|恒|心|有|毅|"

dump($s);

//wordwrap():将字符串按字符个数换行

//8字符串的查找

//strstr():strchr():搜索一个字符在另一个字符串中第一次出现的位置,并返回字符串其余部分

//strrstr():反向搜索

//stristr():不区分大小写搜索

$string='有';

dump(strstr($str,$string)); //string(23) "有|恒|心|有|毅|力"

dump(strrchr($str,$string)); //string(7) "毅|力"

//strpos():返回一个字符串在另一个字符串中出现的位置,否则返回false

//strrpos():反向查找

//stripos():不区分大小写

//strripos():不区分大小写

dump(strpos($str,$string)); //int(8)

dump(strrpos($str,$string)); //int(20)

 

//9字符串的替换

//str_replace():

$text1='咖啡味道闻起来好奇怪,我很少喝咖啡';

$text2='咖啡';

$replace='茶';

$text=str_replace($text2,$replace,$text1);

dump($text);

ECHO __FILE__;

dump(str_replace('\\','/',substr(__FILE__,0)));

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息