PHP常用函数和技巧收藏(不定期更新)
PHP_EOL 回车换行符
utf8_encode() 将 ISO-8859-1 编码的字符串转换为 UTF-8 编码
DIRECTORY_SEPARATOR PHP斜杠,/或\
PATH_SEPARATOR PHP系统分隔符,;
var_export() 输出或返回一个变量的字符串表示
str_pad() 使用另一个字符串填充字符串为指定长度
string strtr ( string $str , string $from , string $to ) 或 string strtr ( string $str , array $replace_pairs ) 可代替str_replace()
start eg.################################
<?php
$input = "Alien";
echo str_pad($input, 10); // 输出 "Alien "
echo str_pad($input, 10, "-=", STR_PAD_LEFT); // 输出 "-=-=-Alien"
echo str_pad($input, 10, "_", STR_PAD_BOTH); // 输出 "__Alien___"
echo str_pad($input, 6 , "___"); // 输出 "Alien_"
?>
end eg.################################
//修正$_SERVER['PATH_INFO']
if ( !isset($_SERVER['PATH_INFO']) && isset($_SERVER['ORIG_PATH_INFO']) ) $_SERVER['PATH_INFO'] = $_SERVER['ORIG_PATH_INFO'];
shuffle() 将数组打乱
邮箱验证:
if (!preg_match("/[a-zA-Z0-9]+@[a-zA-Z0-9]+\.[a-z]{2,4}/",$email)) {
exit('请填写正确的电子邮箱格式。');
}
手机验证:
if (!preg_match("/0?(13|15|18|14|17)[0-9]{9}/",$mobile)) {
exit('请填写正确的手机号码格式。');
}
PHP循环时给新数组变量赋值的方法(引用方式),输出$get_data,会多一个type_name数组键值对
foreach($get_data as &$v){
$v["type_name"] = $v['type']==1?'冲关':'任务';
}
// 当不能使用应用方式的时候,可以使用两个数组合并实现:
$_class_data = $db->get_all("SELECT id AS class_id,title AS class_name FROM ###_class WHERE id IN($class_id)");
$class_data = array();
foreach ($_class_data as $class) {
$student_data = $db->get_all("SELECT * FROM ###_member WHERE status=1 AND typeid=1 AND class_id='$class[class_id]'");
$class['student_data'] = $student_data;
$class_data[] = $class;
}
range($start,$limit[,$step=1) 生成一个从$start到$limit的数组(可以是数字,也可以是数组)
array_flip — 交换数组中的键和值
array_reverse — 返回一个单元顺序相反的数组
array_shift — 将数组开头的单元移出数组
array_unshift() - 在数组开头插入一个或多个单元
array_push() - 将一个或多个单元压入数组的末尾(入栈)
array_pop() - 将数组最后一个单元弹出(出栈)
array_rand — 从数组中随机取出一个或多个单元
array_search — 在数组中搜索给定的值,如果成功则返回相应的键名
array_multisort — 对多个数组或多维数组进行排序
extract — 从数组中将变量导入到当前的符号表
compact(mixed $varname [, mixed $... ]) 建立一个关联数组,包括变量名和它们的值
parse_url — 解析 URL,返回其组成部分
parse_str — 将字符串解析成多个变量
utf8_encode() 将 ISO-8859-1 编码的字符串转换为 UTF-8 编码
DIRECTORY_SEPARATOR PHP斜杠,/或\
PATH_SEPARATOR PHP系统分隔符,;
var_export() 输出或返回一个变量的字符串表示
str_pad() 使用另一个字符串填充字符串为指定长度
string strtr ( string $str , string $from , string $to ) 或 string strtr ( string $str , array $replace_pairs ) 可代替str_replace()
start eg.################################
<?php
$input = "Alien";
echo str_pad($input, 10); // 输出 "Alien "
echo str_pad($input, 10, "-=", STR_PAD_LEFT); // 输出 "-=-=-Alien"
echo str_pad($input, 10, "_", STR_PAD_BOTH); // 输出 "__Alien___"
echo str_pad($input, 6 , "___"); // 输出 "Alien_"
?>
end eg.################################
//修正$_SERVER['PATH_INFO']
if ( !isset($_SERVER['PATH_INFO']) && isset($_SERVER['ORIG_PATH_INFO']) ) $_SERVER['PATH_INFO'] = $_SERVER['ORIG_PATH_INFO'];
shuffle() 将数组打乱
邮箱验证:
if (!preg_match("/[a-zA-Z0-9]+@[a-zA-Z0-9]+\.[a-z]{2,4}/",$email)) {
exit('请填写正确的电子邮箱格式。');
}
手机验证:
if (!preg_match("/0?(13|15|18|14|17)[0-9]{9}/",$mobile)) {
exit('请填写正确的手机号码格式。');
}
PHP循环时给新数组变量赋值的方法(引用方式),输出$get_data,会多一个type_name数组键值对
foreach($get_data as &$v){
$v["type_name"] = $v['type']==1?'冲关':'任务';
}
// 当不能使用应用方式的时候,可以使用两个数组合并实现:
$_class_data = $db->get_all("SELECT id AS class_id,title AS class_name FROM ###_class WHERE id IN($class_id)");
$class_data = array();
foreach ($_class_data as $class) {
$student_data = $db->get_all("SELECT * FROM ###_member WHERE status=1 AND typeid=1 AND class_id='$class[class_id]'");
$class['student_data'] = $student_data;
$class_data[] = $class;
}
range($start,$limit[,$step=1) 生成一个从$start到$limit的数组(可以是数字,也可以是数组)
array_flip — 交换数组中的键和值
array_reverse — 返回一个单元顺序相反的数组
array_shift — 将数组开头的单元移出数组
array_unshift() - 在数组开头插入一个或多个单元
array_push() - 将一个或多个单元压入数组的末尾(入栈)
array_pop() - 将数组最后一个单元弹出(出栈)
array_rand — 从数组中随机取出一个或多个单元
array_search — 在数组中搜索给定的值,如果成功则返回相应的键名
array_multisort — 对多个数组或多维数组进行排序
extract — 从数组中将变量导入到当前的符号表
compact(mixed $varname [, mixed $... ]) 建立一个关联数组,包括变量名和它们的值
parse_url — 解析 URL,返回其组成部分
parse_str — 将字符串解析成多个变量
本次更新时间:2017-08-16