脚本宝典收集整理的这篇文章主要介绍了PHP实用代码片断,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
/* * *************************
* $len为长度,定义字符串长度
* mark 2017/8/15
* ************************** */
function
_random(
$type
,
$len
= 0) {
$new
=
‘‘
;
for
(
$i
= 0;
$i
<
$len
;
$i
++) {
}
return
$new
;
}
if
(
$type
==
‘lower‘
) {
for
(
$i
= 0;
$i
<
$len
;
$i
++) {
$new
.=
$string
[mt_rand(10,35)];
}
return
$new
;
}
if
(
$type
==
‘number‘
) {
for
(
$i
= 0;
$i
<
$len
;
$i
++) {
$new
.=
$string
[mt_rand(0,9)];
}
return
$new
;
}
}
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
//计算该月有几天
function
getdaysInmonth(
$month
,
$year
) {
$days
=
‘‘
;
if
(
$month
== 1 ||
$month
== 3 ||
$month
== 5 ||
$month
== 7 ||
$month
== 8 ||
$month
== 10 ||
$month
== 12)
$days
= 31;
else
if
(
$month
== 4 ||
$month
== 6 ||
$month
== 9 ||
$month
== 11)
$days
= 30;
else
if
(
$month
== 2) {
if
(isLeapyear(
$year
)) {
$days
= 29;
}
else
{
$days
= 28;
}
}
return
(
$days
);
}
//判断是否为润年
function
isLeapyear(
$year
) {
return
(true);
}
else
{
return
(false);
}
}
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
//生成订单15位
function
auto_order(
$ord
= 0) {
if
(
$ord
== 0) {
$str
=
‘00‘
. time() . rand(1000,9999);
//00 本地订单
}
else
{
$str
=
‘99‘
. time() . rand(1000,9999);
//11 线上订单
}
return
$str
;
}
//生成订单15位
function
auto_new_order(
$ord
= 0) {
srand(time());
if
(
$ord
== 0) {
$str
=
‘00‘
. time() . mt_rand(100000,999999);
//00 本地订单
}
else
{
$str
=
‘11‘
. time() . mt_rand(100000,999999);
//11 线上订单
}
return
$str
;
}
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
/**
* 检测是否为UTF8编码
* @param $string 检测字符串
* @return bool
*/
function
is_utf8(
$string
) {
[\x09\x0A\x0D\x20-\x7E] # ASCII
| [\xC2-\xDF][\x80-\xBF] # non-overlong 2-byte
| \xE0[\xA0-\xBF][\x80-\xBF] # excluding overlongs
| [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2} # straight 3-byte
| \xED[\x80-\x9F][\x80-\xBF] # excluding surrogates
| \xF0[\x90-\xBF][\x80-\xBF]{2} # planes 1-3
| [\xF1-\xF3][\x80-\xBF]{3} # planes 4-15
| \xF4[\x80-\x8F][\x80-\xBF]{2} # plane 16
)*$%xs‘,
$string
);
}
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
//处理json字符中的特殊字符
function
getJsonToArr(
$result
,
$return_array
=true)
{
$tempArr
= NULL;
$result
= preg_replace(
‘/([^\\\])(":)(\d{9,})(,")/i‘
,
‘${1}${2}"${3}"${4}‘
,
$result
);
//taobao bug,number >2^32
if
(
$tempArr
== NULL) {
$patterns
=
array
(
‘/,+\s*\}/‘
,
‘/,+\s*\]/‘
,
‘/"\s+|\s+"/‘
,
‘/\n|\r|\t/‘
,
‘/\\\/‘
,
‘/ss+/‘
);
$replacements
=
array
(
‘}‘
,
‘]‘
,
‘"‘
,
‘ ‘
,
‘‘
,
‘ ‘
);
$result
= preg_replace(
$patterns
,
$replacements
,
$result
);
$tempArr
= json_decode(
$result
,
$return_array
);
}
return
$tempArr
;
}
//非法字符过滤函数
function
has_unsafeword(
$str
) {
$regex
=
"/\/|\~|\!|\@|\#|\\$|\%|\^|\&|\*|\(|\)|\_|\+|\{|\}|\:|\<|\>|\?|\[|\]|\.|\/|\;|\‘|\`|\=|\\\|\|/"
;
return
preg_replace(
$regex
,
""
,
$str
);
}
//去空格,以及字符添加斜杠
function
_trim(&
$value
) {
Return
addslashes
(trim(
$value
));
}
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
/**
* 将多维数组转为一维数组
* @param array $arr
* @return array
*/
function
ArrMd2Ud(
$arr
) {
#将数值第一元素作为容器,作地址赋值。
$ar_room
= &
$arr
[key(
$arr
)];
#第一容器不是数组进去转呀
if
(!
is_array
(
$ar_room
)) {
#转为成数组
$ar_room
=
array
(
$ar_room
);
}
#指针下移
next(
$arr
);
#遍历
#是数组就递归深挖,不是就转成数组
$v
=
is_array
(
$v
) ? call_user_func(
__FUNCTION__
,
$v
) :
array
(
$v
);
#递归合并
#释放当前下标的数组元素
unset(
$arr
[
$k
]);
}
return
$ar_room
;
}
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
@H_468_1909@
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
@H_404_1982@
84
|
/**
* 判断是PC端还是wap端访问
* @return type判断手机移动设备访问
*/
function
ismobile()
{
// 如果有HTTP_X_WAP_PROFILE则一定是移动设备
if
(isset (
$_SERVER
[
‘HTTP_X_WAP_PROFILE‘
]))
{
return
true;
}
if
(isset (
$_SERVER
[
‘HTTP_VIA‘
]))
{
// 找不到为flase,否则为true
return
stristr
(
$_SERVER
[
‘HTTP_VIA‘
],
"wap"
) ? true : false;
}
if
(isset (
$_SERVER
[
‘HTTP_USER_AGENT‘
]))
{
‘sony‘
,
‘ericsson‘
,
‘mot‘
,
‘samsung‘
,
‘htc‘
,
‘sgh‘
,
‘lg‘
,
‘sharp‘
,
‘sie-‘
,
‘philips‘
,
‘panasonic‘
,
‘alcatel‘
,
‘iphone‘
,
‘netfront‘
,
‘symbian‘
,
‘ucweb‘
,
‘windowsce‘
,
‘palm‘
,
‘operamobi‘
,
‘openwave‘
,
‘nexusone‘
,
‘cldc‘
,
‘midp‘
,
‘wap‘
,
‘mobile‘
);
// 从HTTP_USER_AGENT中查找手机浏览器的关键字
if
(preg_match(
"/("
. implode(
‘|‘
,
$clientkeywords
) .
")/i"
,
strtolower
(
$_SERVER
[
‘HTTP_USER_AGENT‘
])))
{
return
true;
}
}
// 协议法,因为有可能不准确,放到最后判断
if
(isset (
$_SERVER
[
‘HTTP_ACCEPT‘
]))
{
// 如果支持wml和html但是wml在html之前则是移动设备
if
((
strpos
(
$_SERVER
[
‘HTTP_ACCEPT‘
],
‘vnd.wap.wml‘
) !== false) && (
strpos
(
$_SERVER
[
‘HTTP_ACCEPT‘
],
‘text/html‘
) === false || (
strpos
(
$_SERVER
[
‘HTTP_ACCEPT‘
],
‘vnd.wap.wml‘
) <
strpos
(
$_SERVER
[
‘HTTP_ACCEPT‘
],
‘text/html‘
))))
{
return
true;
}
}
return
false;
}
//判断是否为安卓手机
{
if
(isset(
$_SERVER
[
‘HTTP_USER_AGENT‘
])){
$agent
=
strtolower
(
$_SERVER
[
‘HTTP_USER_AGENT‘
]);
if
(
strpos
(
$agent
,
‘android‘
) !== false)
return
true;
}
return
false;
}
//判断是否为iphone或者ipad
public
function
isIos()
{
if
(isset(
$_SERVER
[
‘HTTP_USER_AGENT‘
])){
$agent
=
strtolower
(
$_SERVER
[
‘HTTP_USER_AGENT‘
]);
if
(
strpos
(
$agent
,
‘iphone‘
)||
strpos
(
$agent
,
‘ipad‘
))
return
true;
}
return
false;
}
//判断是否为微信内置浏览器打开
public
function
isWechet()
{
if
(isset(
$_SERVER
[
‘HTTP_USER_AGENT‘
]) &&
strpos
(
$_SERVER
[
‘HTTP_USER_AGENT‘
],
‘Micromessenger‘
) !== false){
return
true;
}
return
false;
}
//整合到一起,判断当前设备,1:安卓;2:IOS;3:微信;0:未知
public
function
isDevice()
{
if
(
$_SERVER
[
‘HTTP_USER_AGENT‘
]){
$agent
=
strtolower
(
$_SERVER
[
‘HTTP_USER_AGENT‘
]);
if
(
strpos
(
$agent
,
‘micromessenger‘
) !== false)
return
3;
elseif
(
strpos
(
$agent
,
‘ipad‘
))
return
2;
else
return
1;
}
return
0;
}
以上是脚本宝典为你收集整理的PHP实用代码片断全部内容,希望文章能够帮你解决PHP实用代码片断所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。