PHP常用函数封装
function bin_sch($array, $low, $high, $k)
{
if ($low <= $high) {
$mid = intval(($low + $high) / 2);
if ($array[$mid] == $k) {
return $mid;
} elseif ($k < $array[$mid]) {
return bin_sch($array, $low, $mid - 1, $k);
} else {
return bin_sch($array, $mid + 1, $high, $k);
}
}
return -1;
}
function seq_sch($array, $n, $k)
{
$array[$n] = $k;
for ($i = 0; $i < $n; $i++) {
if ($array[$i] == $k) {
break;
}
}
if ($i < $n) {
return $i;
} else {
return -1;
}
}
function delete_array_element($array, $i)
{
$len = count($array);
for ($j = $i; $j < $len; $j++) {
$array[$j] = $array[$j + 1];
}
array_pop($array);
return $array;
}
//冒泡排序(数组排序)
function bubble_sort($array)
{
$count = count($array);
if ($count <= 0) return false;
for ($i = 0; $i < $count; $i++) {
for ($j = $count - 1; $j > $i; $j--) {
if ($array[$j] < $array[$j - 1]) {
$tmp = $array[$j];
$array[$j] = $array[$j - 1];
$array[$j - 1] = $tmp;
}
}
}
return $array;
}
function quick_sort($array)
{
$left_arr = array();
if ($array[$i] <= $key)
$left_arr[] = $array[$i];
else
$right_arr[] = $array[$i];
}
$left_arr = quick_sort($left_arr);
}
{
if (!file_exists($file)) {
return false;
}
switch ($flag) {
case 'dir':
if (is_file($file))
return dirname($file);
return realpath($file);
break;
case 'name':
if (is_file($file))
return basename($file);
return '-';
break;
case 'size':
if (is_file($file))
return filesize($file);
return '-';
break;
case 'perms':
return substr(sprintf('%o', fileperms($file)), -4);;
break;
case 'ower':
return fileowner($file);
break;
case 'owername':
$ownerInfo = posix_getpwuid(fileowner($file));
return isset($ownerInfo['name']) ? $ownerInfo['name'] : false;
break;
case 'groupname':
$ownerInfo = posix_getpwuid(filegroup($file));
return isset($ownerInfo['name']) ? $ownerInfo['name'] : false;
break;
case 'ctime':
return filectime($file);
break;
case 'mtime':
return filemtime($file);
break;
case 'atime':
return fileatime($file);
break;
case 'suffix':
if (is_file($file))
return substr($file, strrpos($file, '.') + 1);
return '-';
break;
default:
return false;
break;
}
* 整理json格式字符串数据
* @param string $json json格式字符串数据
* @param bool|false $assoc
* @param int $depth
* @param int $options
* @return mixed
*/
public function json_clean_decode($json, $assoc = false, $depth = 512, $options = 0)
{
$json = str_replace(array("\n", "\r"), "", $json);
$json = preg_replace("#(/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+/)|([\s\t](//).*)#", '', $json);
$json = preg_replace('/([{,]+)(\s*)([^"]+?)\s*:/', '$1"$3":', $json);
$json = preg_replace('/(,)\s*}$/', '}', $json);
if (version_compare(phpversion(), '5.4.0', '>=')) {
$json = json_decode($json, $assoc, $depth, $options);
} elseif (version_compare(phpversion(), '5.3.0', '>=')) {
$json = json_decode($json, $assoc, $depth);
} else {
$json = json_decode($json, $assoc);
}
return $json;
}
* 判断$strJson是否是一个有效的json格式字符串
* @param $strJson
* @return bool
*/
public function isValidJson($strJson)
{
json_decode($strJson);
return (json_last_error() === JSON_ERROR_NONE);
}
* 去掉字符串中的斜线(单斜线和双斜线)
* @param string $string
* @return string
*/
public static function removeslashes($string = '')
{
$string = implode("", explode("\\", $string));
return stripslashes(trim($string));
$value = is_array($value) ? array_map('stripslashes_deep', $value) : stripslashes($value);
return $value;
{
if ( is_string( $variable ) )
return addslashes( $variable ) ;
elseif ( is_array( $variable ) )
foreach( $variable as $i => $value )
$variable[ $i ] = add_slashes_recursive( $value ) ;
return $variable ;
}
{
if ( is_string( $variable ) )
return stripslashes( $variable ) ;
if ( is_array( $variable ) )
foreach( $variable as $i => $value )
$variable[ $i ] = strip_slashes_recursive( $value ) ;
return $variable ;
* 连接MYSQL函数,需要在连接的时候传递一个数组
* @param array $config
* @return resource
//连接mysql
$link=@mysql_connect($config['host'],$config['username'],$config['password']) or die ('数据库连接失败<br/>ERROR '.mysql_errno().':'.mysql_error());
//设置字符集
mysql_set_charset($config['charset']);
//打开指定的数据库
mysql_select_db($config['dbName']) or die('指定的数据库打开失败');
return $link;
}
/**建议使用该函数
* 连接MYSQL函数,通过常量的形式来连接数据库
* 自定义配置文件,配置文件中自定义常量,包含需要使用的信息
* @return resource
//连接mysql
$link=@mysql_connect(DB_HOST,DB_USER,DB_PWD) or die ('数据库连接失败<br/>ERROR '.mysql_errno().':'.mysql_error());
//打开指定的数据库
mysql_select_db(DB_DBNAME) or die('指定的数据库打开失败');
return $link;
}
/* array(
'username'=>'king',
'password'=>'123123',
'email'=>'dh@qq.com'
) */
/**
* 插入记录的操作
* @param array $array
* @param string $table
* @return boolean
$keys=join(',',array_keys($array));
$values="'".join("','", array_values($array))."'";
$sql="insert {$table}({$keys}) VALUES ({$values})";
$res=mysql_query($sql);
if($res){
return mysql_insert_id();
}else{
return false;
}
}
/**
* MYSQL更新操作
* @param array $array
* @param string $table
* @param string $where
* @return number|boolean
foreach ($array as $key=>$val){
$sets.=$key."='".$val."',";
}
$sets=rtrim($sets,','); //去掉SQL里的最后一个逗号
$where=$where==null?'':' WHERE '.$where;
$sql="UPDATE {$table} SET {$sets} {$where}";
$res=mysql_query($sql);
if ($res){
return mysql_affected_rows();
}else {
return false;
}
}
/**
* 删除记录的操作
* @param string $table
* @param string $where
* @return number|boolean
$where=$where==null?'':' WHERE '.$where;
$sql="DELETE FROM {$table}{$where}";
$res=mysql_query($sql);
if ($res){
return mysql_affected_rows();
}else {
return false;
}
}
/**
* 查询一条记录
* @param string $sql
* @param string $result_type
* @return boolean
$result=mysql_query($sql);
if ($result && mysql_num_rows($result)>0){
return mysql_fetch_array($result,$result_type);
}else {
return false;
}
/**
* 得到表中的所有记录
* @param string $sql
* @param string $result_type
* @return boolean
$result=mysql_query($sql);
if ($result && mysql_num_rows($result)>0){
while ($row=mysql_fetch_array($result,$result_type)){
$rows[]=$row;
}
return $rows;
}else {
return false;
}
}
/**取得结果集中的记录的条数
* @param string $sql
* @return number|boolean
$result=mysql_query($sql);
if($result){
return mysql_num_rows($result);
}else {
return false;
}
}
/**释放结果集
* @param resource $result
* @return boolean
return mysql_free_result($result);
}
/**断开MYSQL
* @param resource $link
* @return boolean
*/function close($link=null){
return mysql_close($link);
}
/**得到客户端的信息
* @return string
return mysql_get_client_info();
}
/**得到MYSQL服务器端的信息
* @return string
return mysql_get_server_info($link);
}
/**得到主机的信息
* @return string
return mysql_get_host_info($link);
}
/**得到协议信息
* @return string
return mysql_get_proto_info($link);
* 根据数据中的某一字段排序
* @param array $array 原始数组
* @param $field 数组字段
* @param bool|false $desc
*/
{
$fieldArr = array();
foreach ($array as $k => $v) {
$fieldArr[$k] = $v[$field];
}
$sort = $desc ? SORT_DESC : SORT_ASC ;
array_multisort($fieldArr, $sort, $array);
}
// 获取去掉重复数据的数组
$unique_arr = array_unique($array);
// 获取重复数据的数组
$repeat_arr = array_diff_assoc($array, $unique_arr);
return $repeat_arr;
class Deque
{
public $queue = array();
/**(尾部)入队 **/
public function addLast($value)
{
return array_push($this->queue,$value);
}
/**(尾部)出队**/
public function removeLast()
{
return array_pop($this->queue);
}
/**(头部)入队**/
public function addFirst($value)
{
return array_unshift($this->queue,$value);
}
/**(头部)出队**/
public function removeFirst()
{
return array_shift($this->queue);
}
/**清空队列**/
public function makeEmpty()
{
unset($this->queue);
}
/**获取列头**/
public function getFirst()
{
return reset($this->queue);
}
/** 获取列尾 **/
public function getLast()
{
return end($this->queue);
}
/** 获取长度 **/
public function getLength()
{
return count($this->queue);
}
}
PHP常用函数封装的更多相关文章
- php文件操作(最后进行文件常用函数封装)
文件信息相关API $filename="./1-file.php"; //filetype($filename):获取文件的类型,返回的是文件的类型 echo '文件类型为:', ...
- Javascript:常用函数封装
//cookie function setCookie(name, value, iDay) { if(iDay!==false) { var oDate=new Date(); oDate.setD ...
- javascript常用函数封装——运动、cookie、ajax、获取行内样式兼容写法、拖拽
运动.cookie.ajax.获取行内样式兼容写法.拖拽封装大合集. //url,data,type,timeout,success,error function ajax(options){ //- ...
- Python:常用函数封装
def is_chinese(uchar): """判断一个unicode是否是汉字""" if uchar >= u'\u4e00' ...
- PHP个人常用函数封装
function GetIP(){ if(!empty($_SERVER["HTTP_CLIENT_IP"])){ $cip = $_SERVER["HTTP_CLIEN ...
- shell常用函数封装-main.sh
#!/bin/bash #sunlight sp monitor system #created on 2018/01/07#by chao.dong#used by sp servers consi ...
- C#验证邮箱,电话,手机,数字,英文,日期,身份证,邮编,网址,IP类等常用函数封装
#region 验证邮箱验证邮箱 /**//// <summary> /// 验证邮箱 /// </summary> /// <param name="sour ...
- 我自己的Javascript 库,封装了一些常用函数 Kingwell.js
我自己的Javascript 库,封装了一些常用函数 Kingwell.js 博客分类: Javascript javascript 库javascript库 现在Javascript库海量,流行的 ...
- PHP其它常用函数;<<<面向对象(OPP)的三大特性:封装、继承、加态:>>> <----面试题 ;构造方法、析构方法,魔术方法、set、get方法;静态;抽象类;接口
PHP其它常用函数: 赋值:$r->name = "元素"; 取值: echo $r->name; count() 计算数组中的元素数目或对象中 ...
随机推荐
- temp--test audio micphone
DWORD CALLBACK waveInProc(HWAVEIN hWaveIn, UINT uMsg, DWORD dwInstance, DWORD dwParam1, DWORD dwPara ...
- Andorid开发学习---ubuntu 12.04下搭建超好用的安卓模拟器genymotion 安装卸载virtualbox 4.3
什么是Genymotion? Genymotion是一套完整的工具,它提供了Android虚拟环境.它简直就是开发者.测试人员.推销者甚至是游戏玩家的福音. Genymotion支持Windows.L ...
- FZU 1894 志愿者选拔 (单调队列)
/****************************************************************** 题目: 志愿者选拔(FZU 1894) 算法: 单调队列 算法思 ...
- Servlet实现重定向的两种方式
使用Servlet实现请求重定向:两种方式 1. response.setStatus(302); response.setHeader("location", "/Re ...
- JavaScript密码复杂度
<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8" ...
- Wpf 中使用gif格式的动态图
第一种方法:使用winform插件 <WindowsFormsHost xmlns:wf="clr-namespace:System.Windows.Forms;assembly=S ...
- Swift +AFNetworking3.0 Get
let manager = AFHTTPSessionManager() let url = "http://v.juhe.cn/weather/index" let ," ...
- [MySQL]load data local infile向MySQL数据库中导入数据时,无法导入和字段不分离问题。
利用load data将文件中的数据导入数据库表中的时候,遇到了两个问题. 首先是load data命令无法执行的问题: 命令行下输入load data local infile "path ...
- NSA,放开那头魔兽!
面对NSA的觊觎,玩<魔兽世界>的男生们现在恐怕要护好自己的菊花了. 据新浪科技报道,亡命天涯的斯诺登还在持续爆料,最近的爆料和游戏有关: NSA和英国政府通信总署(简称“GCHQ ...
- JS-for中的i
var aBtn = document.getElementsByTagName('input'); for( var i=0; i<aBtn.length; i++ ){ ...