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产生的新的索引行也不能被插入到该位置.索引列的修改过程 ...
随机推荐
- Xcode cannot launch because the device is locked.
When you plug in your iPhone, it will ask you to trust the computer. If you already trust and unlock ...
- 【读书笔记】iOS网络-应用间通信
一,URL方案 URL方案有3个主要用途:根据设备上其他应用的存在与否调整逻辑,切换到其他应用以及响应打开你的应用的其他应用.你还可以通过URL方案从某个站点或是在基于Web的认证流程结束是打开应用. ...
- c中的指针
一. 指针前奏 1. 指针的重要性 指针是C语言中非常重要的数据类型,如果你说C语言中除了指针,其他你都学得很好,那你干脆说没学过C语言. 2. 小需求 l void change(int n)函数 ...
- 列式存储(三)JFinal DB.tx()事务
上一篇中说道了列式存储中新增表单时后台接收数据问题,在存入数据库时一次插入多条数据,就要用到事务. JFinal中有个封装好的事务应用,用起来非常方便简单. 写法1: Db.tx(new IAtom( ...
- 开启Apache mod_rewrite模块完全解答
启用mod_rewrite模块 在conf目录的httpd.conf文件中找到 LoadModule rewrite_module modules/mod_rewrite.so 将这一行前面的#去掉. ...
- JavaScript(一)——简介(简单介绍)
1.JavaScript是个什么东西? 它是个脚本语言,需要有宿主文件,它的宿主文件是HTML文件. 2.它与Java什么关系? 没有什么直接的联系,Java是Sun公司(已被Oracle收购了),J ...
- Sqlite学习笔记(四)&&SQLite-WAL原理
Sqlite学习笔记(三)&&WAL性能测试中列出了几种典型场景下WAL的性能数据,了解到WAL确实有性能优势,这篇文章将会详细分析WAL的原理,做到知其然,更要知其所以然. WAL是 ...
- JNA 如何 加载多个 存在依赖的 DLL 库
JNA 的出现,极大的简化了原有的 JNI 技术.下面是JNA github地址:https://github.com/java-native-access/jna 1. 简单的一个例子: /** S ...
- 列表list
Python是一种面向对象的语言,但它不像C++一样把标准类都封装到库中,而是进行了进一步的封装,语言本身就集成一些类和函数,比如print,list,dict etc. 给编程带来很大的便捷 Pyt ...
- java运算优先级
列号 符号 名称 结合性(与操作数) 目数 说明 1 . 点 从左到右 双目 ( ) 圆括号 从左到右 [ ] 方括号 从左到右 2 + 正号 从右到左 单目 - 负号 从右到左 单目 ++ ...