全局变量
$n = 5; //全局变量 function fun1(){ global $n; echo '我在函数体内也可以调用全局变量n,它的值是:',$n;5 $n++; } fun1(); echo '<hr>'; echo 6
$n = 6echo '变量的值是:',1)">$GLOBALS['n']; $GLOBALS['n']++$GLOBALS['n'];
不使用循环语句,来计算1~100的和
function recursive(){ if($n>=1){ return $n + recursive($n-1); } } echo recursive(100);
引用
$foo = 'Bob'; $bar = &$foo; 看待成变量的别名 $bar = 'Rose'$foo;Rose $foo = 'Mooc'看待成变量的别名 unset($foo); 变量销毁 $bar;Mooc
自定义函数
function fun1(&){ echo '我是函数体内的局部变量',1)">$n ;4 } $n = 3; fun1(); $n,'<hr>';4
获得扩展名
function getExtension($filename) { $pos = strrpos($filename,'.'); $extension = strtolower(substr($pos + 1)); $extension; } $path = 'mooc.func.pHP'var_dump(getExtension($path));
求平均数
function avg(...$args) { ; } var_dump(avg(1,2,3));
系统函数库
字符串转数组
$str = 'A|B|C|D'$arr = explode('|',1)">$strprint_r($arr);[A,B,C,D]
数组转字符串
$arr2 = array('Tom','John','Rose'); $str2 = implode(',',1)">$arr2$str2;Tom,John,Rose
获取扩展名:
方法一
$filename = 'ab.cd.gif.JpEg'; gepj.fig.dc.ba $num = echo $num+1)),'<br/><br/>';jpeg
方法二
strrev($filename);strrev反转字符串 strpos($str2,1)">strrev($num)));jpeg
trim移除字符串两侧的字符
$str = "\n\n\t\tABC\t\t"trim($str);ABC
md5()加密
$str = 'abc'md5(900150983cd24fb0d6963f7d28e17f72
格式化字符串
$number = 5$str = 'shanghai'$txt = sprintf('there are %d million cars in %s',1)">$number,1)">$txt;there are 5 million cars in shanghai $number = 123sprintf("带有两位小数的结果是:%1\$.2f,\n不带小数的是:%1\$d",1)">$number带有两位小数的结果是:123.00,不带小数的是:123
htmlspecialchars特殊字符转为HTML实体
$str = "A>B,B<C,Tom&John,He said:\"I'm OK\""htmlspecialchars($str,ENT_QUOTES);A>B,B<C,Tom&John,He said:"I'm OK"
通过str_replace进行转换
$str1 = str_replace('&','&',1)">$str); 必须是第一阶梯 str_replace('>','>',1)">$str1str_replace('<','<',1)">$str2str_replace('"','"',1)">str_replace('\'',''',He said:"I'm OK"
str_ireplace不区分大小写
$str = 'javascript'str_ireplace('A','b',1)">jbvbscript
随机地打乱字符串中的所有字符
$str = 'abcdefghijklmnopqrstuvwxyz'$str = str_shuffle(drif
strlen获得字符长度
NULL;0 $str2 = 'AB';2 $str3 = '中国';6 一个中文3个字符 strlen($str1),$str2),1)">$str3);
stripos不区分大小写,字符串从0开始编号,如果没有出现,则返回FALSE
$str1 = 'javascript'$str2 = 'A'var_dump(stripos($str1,1)">$str2)); int(1)
搜索$str2在字符串中的位置,并返回从该位置到字符串结尾的所有字符
$str1 = 'abcdcef'$str2 = 'c'strrchr($str2);cef
获取扩展名
$filename = 'a.bc.cd.png'substr(png
strtoupper转大写
strtolower转小写
$str1 = 'html'$str2 = 'PHP'strtoupper(strtolower(HTMLphp
ucfirst句子首字母大写
ucwords单词首字母大写
$str3 = 'this is a test'ucfirst($str3),1)">ucwords($str3);
substr截取字符串
负数=字符串长度+该负数
10 java script pt -2=10-2=8 cri -5,-2=5,8
将字符串转为Zend_Controller_Front
$str = 'ZenD_CONTRollER_FronT'1.转换小写 2.将下划线替换成空格 str_replace('_',' ',1)">3.通过ucwords进行首字母大写操作 $str3 = 4.将空格替换成下划线 $str4 = str_replace(' ','_',1)">$str3$str4;Zend_Controller_Front
floor() ceil()
$x = 2.7$y = 3.01floor($x),1)">2 向下取整 ceil($y),1)">4 向上取整
假设记录数为X,每页显示Y条记录,求总页数z
z = ceil(X/Y);
fmod()对浮点数取模
fmod(7.8,3),'<br/>';1.8
对整数取模
echo 7.8 % 3 ; 整数余数的操作//1
格式化数字
$x = 7896.827number_format(7,897 $x,2),896.83
pow()幂操作 sqrt()平方根操作
pow(2,3);8 sqrt(4) ;2
mt_rand()是更好的随机数生成器,因为它跟rand()相比播下了一个更好地随机数种子;而且性能上比rand()快4倍
rand(50,80mt_rand(10,99);
生成四位数随机验证码
$chars = 'abcdefghijlmnopqrstuvwxyz789654321'$len = $charsfor($i=0;$i<4;$i++$char .= $chars,1)">mt_rand(0,1)">$len-1),1); } $char;
round()四舍五入
$x = 7.238round($x);7 7.24
strtotime字符串转时间
echo '当前日期:',1)">date('Y-m-d'),1)">2020-01-10 echo '下个月的日期:',1)">date('Y-m-d',1)">strtotime('1 month')),1)">2020-02-10 echo '上个月最后一天:',1)">date('Y-m-d H:i:s',1)">strtotime('last day of -1 month')),1)">2019-12-31 10:39:12 echo '上个月最后一天零点:',1)">strtotime("midnight last day of -1 month")),"\n"; 2019-12-31 00:00:00 echo '昨天零点:',1)">strtotime('yesterday')),1)">2020-01-09 00:00:00 echo '现在:',1)">strtotime('now')),1)">2020-01-10 10:39:12 echo '三个星期之间的时间戳是:',1)">strtotime('-3 weeks');三个星期之间的时间戳是:1576810790 echo (time() - strtotime('-3 weeks'))/86400 ;21 间隔时间 echo '上个月:'.strtotime('-1 month')) ; 上个月:2019-12-10 10:59:50 echo '上个月的第一天:'.strtotime('first day of -1 month'));上个月的第一天:2019-12-01 10:59:50
返回当前本地的日期/时间的日期/时间信息
print_r(getdate()); Array //( // [seconds] => 3 // [minutes] => 42 // [hours] => 10 // [mday] => 10 // [wday] => 5 // [mon] => 1 // [year] => 2020 // [yday] => 9 // [weekday] => Friday //[month] => January //[0] => 1578624123 //)
microtime()返回当前 Unix 时间戳的微秒数
microtime();0.41369400 1578624195
当设置为 TRUE 时,规定函数应该返回一个浮点数,否则返回一个字符串;默认为 FALSE
microtime(true);1578624195.4137
计算程序运行时间
$start = true$sum = 0for ($i=0; $i <1000000 ; ) { $sum += $i; } $end = echo '共花费',1)">$end - $start,'秒';共花费0.016秒
time()
time() ;1578625294 echo '当前的日期时间是:',1)">date('Y-m-d H:i:s') ;当前的日期时间是:2020-01-10 11:01:34 echo '昨天的日期时间是:',1)">time()-86400) ; 24*60*60 //昨天的日期时间是:2020-01-09 11:01:34
uniqid() 函数基于以微秒计的当前时间,生成一个唯一的 ID
uniqid();5e17e94f8a19b uniqid('abc');abc5e17e96c1771e uniqid(microtime());0.09603300 15786253885e17e96c17727 microtime() . mt_rand()); mt_rand(100,999);//0.09604200 15786253884744704985e17e96c1772f //uuid 8-4-4-4-12 = 32 md5(mt_rand()));cf6333288fcb04f60fbbedafd127201e
session
session_start(); session_id();bp99jhu204h6vi214ttgcjce80
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。