字符串都是海针 数组是针海
输出及打印
echo 8 %(-2 );
echo date ('Y-m-d H:i:s' ,strtotime ('-1 day' ));
echo '你好' ;
print '你好' ;
print_r([
'name' => '帅哥' ,
'age' => 18 ,
]) ;
printf ('中国人%s ' ,'累' ); // 中国人累
printf ('%2.2f' ,'12.3034234' ); // 12.30
var_dump(array ('name'=>'tom'))
字符串去除与填充
echo trim (' abb ' ) ;
echo ltrim (' abb ' ) ;
echo rtrim (' abb ' ) ;
echo str_pad ('input' , 10 , '-' ) ;
字符串连接与分割 数组变字符串
echo implode ('' , array (1 ,2 ,3 ,4 ,54 ));
echo join ('' ,array (0 ,8 ,7 ,6 ,4 ));
print_r (str_split('string', 2 ));
print_r(explode ('i','string'))
字符串截取
echo substr ('hello world' , 1 ,1 ) ;
echo strstr('hello world' , 'e' );//从他开始切true 向前不含,后含 ello world
echo strstr('hello world' , 'e' ,true );//从他开始切true 向前不含,后含 h
echo strrchr ('index.php' , '.' ) ;
echo strchr ('index.php' , '.' ) ;
字符串替换
echo str_replace ('love' , 'dream' , 'I love you!' ) ;
echo str_repeat('-' , 6);//------
echo substr_replace ('string' , 'a' , 2 , 1 ) ;
字符串长度与位置
echo strlen ('name' ) ;
echo strpos ('name' , 'a' ) ;
echo strrpos ('name' , 'a' ) ;
字符串转换
echo strtolower('ABS' );//abs
echo strtoupper ('abb' ) ;
echo lcfirst('NAME' );//nAME
echo ucfirst ('name' ) ;
echo ucwords ('name you' ) ;
特殊字符处理
echo nl2br ("na\nme" ) ;
echo addslashes("http://wwwabb.com.cn'\sjfl'" );//转义http://wwwabb.com.cn\'\\sjfl\'
echo htmlspecialchars ("fl<>sjfsd;'/.?[p78374628" ) ;
echo htmlspecialchars_decode ('sldjfasjf' ) ;
echo urlencode ("http://www.baidu.com/?>ksfsjlfsf" ) ;
时间函数
echo time () ;
echo date ('Y-m-d H:i:s' ,mktime(12,31,0,12,31,1992))."<br />" ;//时分钞月日年
echo microtime ()
数学函数
echo round (13.01 );
echo ceil (13.01 );
echo floor (13.01 );
echo pow (100 , 0.5 );
echo abs (-1 );
echo rand (1000 ,1001 );
echo max (array (1 ,23 ,4 ,5 ,6 ));
echo min (array (1.2 ,4 ,5 ,6 ,6 ));
echo uniqid () ;
指针操作函数
$arr = array ('name' =>'tom' ,'age' =>18 ,'sex' =>'nan' );
$brr = array (0 ,23 ,4 ,5 ,67 ,87 ,89 ,9 );
list ($a ,$b ,$c )=$brr ;
echo $a ,$b ,$c ;
reset ($arr);// 数组指针重置
print_r(next ($arr));// 18
print_r (current($arr));
echo end($arr );//nan
echo key($arr );//name
单元操作函数
$crr = array (1 ,2 ,3 ,4 ,5 ,65 ,67 ,7 );
print_r (array_pop ($crr ));
print_r ($crr );
print_r (array_push($crr, 'anme'));
print_r ($crr);
print_r (array_shift($crr));
print_r ($crr);
print_r (array_unshift($crr, 'sex'));
print_r ($crr);
$vcc = array_splice($crr, 2 , 0 , 'age' );// 2 切0 个 age换 无返回
print_r($crr);// Array ( [0 ] => 1 [1 ] => 2 [2 ] => age [3 ] => 3 [4 ] => 4 [5 ] => 5 [6 ] => 65 [7 ] => 67 [8 ] => 7 )
array_slice($crr , 2 , 2 , true );// 从2 个取含2 加true 不变下标
排序函数
asort ($crr);
arsort ($crr);
ksort ($crr);
krsort ($crr);
shuffle ($crr);
查找函数
in_array (1 ,$crr )
array_keys ($crr )
array_key_exists (2 ,$crr )
array_search ('sex' ,$crr )
array_reverse ($crr )
array_merge ($arr ,$crr );
array_values ($crr )
array_sum ($crr )
array_map (function ($res ) {return $res ;}, $crr );
array_walk ($crr , 'aaa' );
function aaa ($value , $key ) {
echo "$key . $value <br />\n" ;
}
$brr = range (1 ,5 );
print_r ($brr );
PHP字符串函数
addslashes ($str )
Magic_quotes_gpc = On
get_magic_quotes_gpc()
stripslashes ()
冒泡
$ar = array (1 ,3 ,54 ,6 ,7 ,89 ,0 );
$len = count ($ar );
for ($i = 0 ; $i < $len - 1 ; $i ++) {
for ($j = 0 ; $j < $len - 1 - $i ; $j ++) {
if ($ar [$j ] > $ar [$j +1 ]) {
$temp = $ar [$j ];
$ar [$j ] = $ar [$j +1 ];
$ar [$j +1 ] = $temp ;
}
}
}
print_r ($ar );
选择排序
$ar = array (1 ,3 ,54 ,6 ,7 ,89 ,0 ,98 ,34 ,2 ,4 ,435 ,2 ,2 ,6 ,);
$len = count ($ar );
for ($i =0 ; $i < $len - 1 ; $i ++) {
$temp = $ar [0 ];
$p = 0 ;
for ($j =0 ; $j < $len - $i ; $j ++) {
if ($ar [$j ] > $temp ) {
$temp = $ar [$j ];
$p = $j ;
}
}
$te = $ar [$len - 1 - $i ];
$ar [$len -1 -$i ] = $ar [$p ];
$ar [$p ] = $te ;
}
print_r ($ar );
插入排序
$ar = array (1 ,3 ,54 ,6 ,7 ,89 ,0 ,98 ,34 ,2 ,4 ,435 ,2 ,2 ,6 ,);
$len = count ($ar );
for ($i =1 ; $i < $len ; $i ++) {
for ($j =$i -1 ; $j >=0 ; $j --) {
if ($ar [$j ] > $ar [$j +1 ]){
$temp = $ar [$j +1 ];
$ar [$j +1 ] = $ar [$j ];
$ar [$j ] = $temp ;
}
}
}
print_r ($ar );
快速排序
$ar = array (1 ,3 ,54 ,6 ,7 ,89 ,0 ,98 ,34 ,2 ,4 ,435 ,2 ,2 ,6 ,);
function quick_sort ($ar ) {
$len = count ($ar );
if ($len <= 1 ) {
return $ar ;
}
$my = $ar [0 ];
$left = array ();
$mid = array ();
$right = array ();
foreach ($ar as $key => $value ) {
if ($value > $my ) {
$right [] = $value ;
} else if ($value < $my ) {
$left [] = $value ;
} else if ($value = $my ) {
$mid [] = $value ;
}
}
$left = quick_sort ($left );
$right = quick_sort ($right );
$ar = array_merge ($left ,$mid ,$right );
return $ar ;
}
print_r (quick_sort ($ar ));
二分查找
function test ($arr , $value , $start = 0 , $end = NULL ) {
if ($end == NULL ) {
$end = count ($arr ) - 1 ;
}
$index = floor (($start +$end )/2 );
$base = $arr [$index ];
if ($value < $base ) {
return test ($arr , $value , $start , $index -1 );
}else if ($value > $base ) {
return test ($arr , $value , $index +1 , $end );
}else {
return $index ;
}
}
$arr = array (1 , 3 , 5 , 6 , 7 , 8 , 10 , 12 , 14 , 16 , 18 , 20 );
$value = 8 ;
echo test ($arr , $value );
无极限分类 树型结构
function Tree ($data , $pid = 0 , $level = 0 ) {
static $newdata = array ();
foreach ($data as $value ) {
if ($value ['dept_pid' ] == $pid ) {
$newdata [] = $value ;
$newdata ['level' ] = $level ;
Tree ($data , $value ['dept_id' ], $level + 1 );
}
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?