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开发——01_第一个OC程序
本文目录 一.新建Xcode项目 二.运行项目 注:建议先学习C语言, 如果你还没有编程经验,看不懂的地方可以在评论区提出,本文使用的为Xcode6.1版本,与之前版本会有所差异,但总体不变. 另:还 ...
- Android 手机卫士--安装过程中点击回退按钮
本文地址:http://www.cnblogs.com/wuyudong/p/5903707.html,转载请注明源地址. 在手机卫士之前的版本升级的对话框中: 有的用户暂时不想更新,没有点击“稍后再 ...
- Android 生成xml文件
生成XML文件备份短信,其格式为: <?xml version="1.0" encoding="UTF-8" standalone="true& ...
- Java你可能不知道的事系列(1)
概述 本类文章会不段更新分析学习到的经典面试题目,在此记录下来便于自己理解.如果有不对的地方还请各位观众拍砖. 今天主要分享一下常用的字符串的几个题目,相信学习java的小伙伴们对String类是再熟 ...
- 【代码笔记】iOS-给背景图赋值颜色
代码: - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. // ...
- iOS中如何知道app版本已更新
主要用于程序升级,开启程序后是否显示新特性两个方面. 1.苹果app版本 苹果规定,程序的版本只能升不能降.例如1.0->1.1可以,1.1->1.0就不可以,不允许上架. 2.app版本 ...
- GitHub Top 100 的项目(iOS)
主要对当前 GitHub 排名前 100 的项目做一个简单的简介, 方便初学者快速了解到当前 Objective-C 在 GitHub 的情况. Android 版本的在此: https://gith ...
- cocoapods遇到的问题 (pod: command not found的问题)
在使用CocoaPod为项目添加第三方类库时,出现了-bash: pod: command not found的问题: 在网上看到了一位哥的方法:确实有效:
- eclipse如何优化构建的速度(Building)
小Alan在平时的开发中很喜欢做一件事,那就是盯着eclipse的状态栏,看着Build Workspace的进度条一点一点慢慢的走,小Alan坐在电脑面前默默不想说话,就是心中总是有十万匹马在奔腾, ...
- JSON字符串与JSON对象
JSON对象是直接可以使用JQuery操作的格式,和js中的对象一样,可以用对象(类名)点出属性(方法). JSON字符串仅仅只是一个字符串,一个整体,不截取的话没办法取出其中存储的数据,不能直接使用 ...