php碎片
1.flock
LOCK_EX 独占锁定
LOCK_SH 共享锁定
LOCK_UN 解除锁定
LOCK_NB 锁定但不堵塞进程,直接返回false
2. fseek
SEEK_CUR
SEEK_END
SEEK_SET
3、
function search($key,&$result){
$result=$key.'此种方法值得学习';
return true;
}
if(search('123',$result)){
echo $result;
}
/*
* ① md5_file()要比get_headers()快很多
* ② global和$GLOBALS只能使用,但并不会改变原来的赋值
* ③ 递归思想的用处
* ④ register_shutdown_function()来模拟析构函数
* ⑤ set_error_handler() set_exception_handler() 接管的函数或者类都要加载错误出现之前
* ⑥ ini_set('display_errors','Off')的权限要大于error_reporting();
* ⑦ 代码技巧:先定义返回结果的格式,失败直接返回
* ⑧ sprintf: %u=>无符号十进制
%b=>二进制
%d=>有符号的十进制整数
%f=>浮点数
%s=>字符串
%x=>小写字母的十六进制
%X=>大写字母的十六进制
原理就是如何认为计算机里边的二进制数了,会把参数当作十进制
* 1)正负号,正号不用写,当不满足最小宽度的时候,从前边补0还是从后边补0
* 2)填充字元 0表示空格填充0 默认值是空格,表示空格就放着
* 3)总宽度(包括小数点),为最小宽度
* 4)(.)精确度
* 随心所欲的调用参数 “%1\$.2f %1\$f”(%1\$u 第一个参数,无符号十进制正数)
* ⑨ ip2long()不要忘了使用%u
* ⑩ substr_count($string,$serach[,$start,$length]) 检测一个字符串在另一个字符串中出现的次数
* 11) 用isset来替换array_key_exists
* 为初始化的变量、0、空、null、空数组、false、[没有任何属性的object]都为empty
* 重点 var = null 跟empty唯一不同的就是当变量为定义时,会抛出一个Notice
* 12) 如果php.int中的register_globals=On的话,所有的$_GET $_POST $_COOKIE $_SESSION 都将别注册成全局变量,通过$GLOBALS中,不建议开启
* 13) get_magic_quotes_runtime() 和 get_magic_quotes_gpc()
* 14) final关键字:如果类声明为final,则此类不允许继承,如果类中的方法声明为final,则此方法不允许覆盖
* 15) Exception
* class Exception{
* protected $message;
* protected $code=0;
* protected $file;
* protected $line;
*
* public function __construct($message=null,$code=0);
* final function getMessage();
* final function getFile();
* final function getLine();
* final function getCode();
* final function getTrace();
* final function getTraceAsArray();
*
* public function __toString();
* }
* 16) 静态变量只存在函数作用域内,也就是说,静态变量只存活在栈中,一般的函数内部变量在函数结束后就会释放,比如局部变量,但是
* 静态变量不会,也就是说下次在调用的时候,这个变量会保存起来
* 静态属性不属于那个实例,对任何实例都有效
*
* 17) htmlspecialchars($string[,ENT_COMPAT|ENT_QUOTES|ENTNOQUOTES]) 【这些都是针对单双引号的】
* ENT_COMPAT 尽编码双引号
* ENT_QUOTES 编码单双引号
* ENT_NOQUOTES 都不编码
*
* 18) pathinfo($fine[,option]) 返回文件路径信息
* PATHINFO_DIRNAME
* PATHINFO_BASENAME
* PATHINFO_EXTENSION
*
* 19) mb_strlen($str[,$encode]); 最好把encode加上
*
* 20) strtr($str,from,to) 或者 strtr($str,$array); 可以做个小的关键词库
*
* 21) explode('_',$str.2) 规定数组的最大长度
*
* 22) call_user_func_array(array('classname','method'),array('参数一','参数二',...))
* classname
* 可以为类名,此时就不再调用初始化函数
* 可以为类的实例化,$test=new test(); array(&$test,methodName),调用初始化函数
* 参数数组是一个索引数组,不会去按关联数组去匹配,不要太天真哦~~~
*
* 23)正则 (?=exp) 顺序肯定 (?<=exp) 逆序肯定 (?!exp) 顺序否定 (?<!exp) 逆序否定
* 匹配ABBABB的正则 [\d]+ ((?<n1>\d)(?<n2>[^\k<n1>])\k<n2>)\1 (如何不用分组名去捕获,我还是没写出来)
*/
4、
<?php
/* class Exception{
protected $message;
protected $code;
protected $file;
protected $line; function __construct($message[,$code]);
final function getMessage();
final function getCode();
final function getFile();
final function getLine();
final function getTrace();
final function getTraceAsArray();
public function __toString();
final private __clone();
}*/
// PDO 中包括三个预定义的类
// ① PDO
// exec($sql)
// query($sql)
// setAttribute(PDO::ERRMODE,PDO::ERRMODE_EXCEPTION);
// lastInsertId()
// prepare()
// beginTransaction()
// commit()
// rollBack()
// ② PDOStatment
// rowCount()
// fetch(PDO::FETCH_ASSOC|PDO::FETCH_BOTH|PDO::OBJ|PDO::NUM)
// fetchAll()
// bindParam()
// execute() // ③ PDOException
try{
$dsn='mysql:host=localhost;dbname=test';
$pdo=new PDO($dsn,'root','');
$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
// $sql='insert article values("",1,2)';
// 执行一条sql,并返回影响的行数
// echo $pdo->exec('SET NAMES UTF8');
// query()执行一个sql,并返回结果集
// $query=$pdo->query($sql);
// rowCount() 返回sql执行后影响的行数
// $affected_rows=$query->rowCount();
// echo $last_id=$pdo->lastInsertId();
// $query=$pdo->query('select * from friends LIMIT 10');
// $result=$query->fetchAll(PDO::FETCH_ASSOC);
// print_r($result);
// $insert=$pdo->prepare('insert into article values("",?,?)');
// $insert->execute(array(1,2));
$sth=$pdo->prepare('select * from article where id=?');
$id=20;
$sth->bindParam(1,$id);
$sth->execute();
$result=$sth->fetch(PDO::FETCH_ASSOC);
print_r($result);
}catch(PDOException $e){
echo $e->getMessage();
}
?>
5、
为所有的连接加上target='_blank'
function contentTargetChange($content){
$pattern='/<[a|A][^>]*>/';
$count=preg_match_all($pattern,$content,$matches);
if($count>0){
try{
$str='';
$arr=preg_split($pattern, $content);
foreach($matches[1] as $key=>$value){
$value=preg_replace('/target=[^>|^ ]*/i','',$value);
$str.=$arr[$key].substr($value,0,-1).' target="_blank">';
}
if(count($arr)>$count){
$str.=array_pop($arr);
}
return $str;
}catch(Exception $e){
return $content;
}
}
return $content;
}
6)、
function dec2f($num){
$base='0123456789abcdef';
$result='';
do{
$result=$base[$num%16].$result;
$num=intval($num/16);
}while($num!=0);
return $result;
}
function f2dec($num){
$map=array('0' => 0,
'1' => 1,
'2' => 2,
'3' => 3,
'4' => 4,
'5' => 5,
'6' => 6,
'7' => 7,
'8' => 8,
'9' => 9,
'a' => 10,
'b' => 11,
'c' => 12,
'd' => 13,
'e' => 14,
'f' => 15);
$len=strlen($num);
$result='';
for ($i=0; $i < $len; $i++) {
$result*=16;
$result=$result+$map[$num[$i]];
}
return $result;
}
php碎片的更多相关文章
- 扑面而来的碎片--图片3D炸裂效果初体验
之前逛园子的时候看到 ChokCoco 的爆炸效果作品:[BOOM]一款有趣的Javascript动画效果 (大神英文有没有拼错呀←.←),觉得蛮有意思的,效果如下: 不过觉得这个爆炸效果还是偏软了一 ...
- IOS开发基础知识碎片-导航
1:IOS开发基础知识--碎片1 a:NSString与NSInteger的互换 b:Objective-c中集合里面不能存放基础类型,比如int string float等,只能把它们转化成对象才可 ...
- Android 横竖屏+碎片的应用
最终效果展示: 项目介绍: 通过碎片的方式显示标题列表和内容,其中也牵涉到横竖屏的知识 项目代码下载:http://files.cnblogs.com/files/Laopengblog/%E7%A2 ...
- 关闭电脑SSD的磁盘碎片整理
小白往往会把机械硬盘时代的习惯带进固态硬盘时代,比如碎片整理.机械硬盘时代砖家最喜欢告诉小白:“系统慢了吧?赶紧碎片整理撒.”小白屁颠屁颠地整理去了.殊不知碎片整理对于SSD来说完全就是种折磨.这种“ ...
- PhotoShop算法原理解析系列 - 像素化---》碎片。
接着上一篇文章的热度,继续讲讲一些稍微简单的算法吧. 本文来讲讲碎片算法,先贴几个效果图吧: 这是个破坏性的滤镜,拿美女来说事是因为搞图像的人90%是男人,色色的男人. 关于碎 ...
- 【笔记】科普createDocumentFragment() 创建文档碎片节点
上一篇文章说到了动态添加文本节点的方法那如果我们要添加多个文本节点或者元素节点呢? 大家可能会想到用循环然后逐个逐个添加 但是别忘了js 还提供了创建一个文本碎片的方法 createDocumentF ...
- xfs磁盘(文件)碎片查看和整理
网上有些帖子说XFS不用做碎片整理,其实是错误的.XFS用延迟写入等技术确实可以减少碎片的出现,但是如果服务器用了几年,并且文件操作比较频繁,还是会出现碎片的,应该整理.注意:在Debian中XFS相 ...
- Fragment碎片
布局文件中添加碎片 1.在onCteate()方法中调用inflater.inflate()加载Fragment布局 2.在xml的<fragment>中需要显示指明碎片名称(androi ...
- javascript创建文档碎片节点
在<javascript高级程序设计>一书的6.3.5:创建和操作节点一节中,介绍了几种动态创建html节点的方法,其中有以下几种常见方法: · crateAttribute(name): ...
- Oracle索引碎片检查及定期重建常用表的索引
背景说明: 今天查阅书籍时,偶然间发现“在对某个索引行执行删除操作时,只是为该行增加了一个删除标记,这个索引行并不会释放它的存储空间,Insert产生的新的索引行也不能被插入到该位置.索引列的修改过程 ...
随机推荐
- 【iOS】小项目框架设计(ReactiveCocoa+MVVM+AFNetworking+FMDB)
上一个项目使用到了ReactiveCocoa+MVVM+AFNetworking+FMDB框架设计,从最初的尝试,到后来不断思考和学习,现在对这样一个整体设计还是有了一定了理解与心得.在此与大家分享下 ...
- C语言笔记
.c是C语言源文件,在编写代码的时候创建 .o是目标文件,在编译成功的时候产生 .obj .out是可执行文件,在链接成功的时候产生 工具:clang编译器(Xcode3 gcc Xcode4 LL ...
- 【读书笔记】iOS-程序进入到后台
当一个iOS应用被送到后台,它的主线程会被暂停.你用NSThread的detachNewThreadSelector:toTar get:withObject:类方法创建的线程也被挂起了.如果你想在后 ...
- OC中面向对象2
一. 定义OC的类和创建OC的对象 接下来就在OC中模拟现实生活中的情况,创建一辆车出来.首先要有一个车子类,然后再利用车子类创建车子对象 要描述OC中的类稍微麻烦一点,分2大步骤:类的声明.类的实现 ...
- [Linux 存储管理] LVM结构
linux的LVM灵活且功能强大,当然越强大的就越难理解.lvm和硬盘大致关系应该如下,如果有误请大家左证. lvm中快照功能强大到,很多db的备份都依赖于这个功能,所以不能不理解和熟悉. <鸟 ...
- 记录Sqlserver2012附加Sqlserver2008的数据库出错的解决方案
一.摘要 最近在实验里面用台式编写好了一个软件,想移植到家里的笔记本上.在附加数据的时候却出现了错误,具体也没有提示什么错误,反正就是附加失败了. 二.解决方案 在网上看了一些资料,有的说[低版本不能 ...
- day 2远程连接Linux系统管理
IP端口-协议等基本概念 互联网上的计算机,都会有一个唯一的32位的地址,IP地址. 我们访问服务器.就必须通过这个IP地址. 局域网也有预留的IP地址 192/10/172开头.局域网的 I ...
- python脚本实现自动保留ctime最近的几个文件
使用了给字典排序的sorted方法 #!/usr/bin/env python # coding:utf-8 import os def rm_backup(rm_path,days): files_ ...
- 定时器的应用---查询方式---让8个LED灯,左右各4个来回亮
定时器的应用,查询方式.让8个LED灯,左右各4个来回亮 代码: /********************** 查询方式是主程序不断的查询是否中断,而不需要准备子程序 *************** ...
- 如何生成可变表头的excel
1.实现功能: 传入一个表头和数据,将数据导入到excel中. 为了便于项目的扩展,数据传入通过泛型集合传入,获取数据时,通过反射的方式获取,这样无论你的表头是多少项,我都能很方便的生成.另外为了便于 ...