注册 登陆
浏览模式: 标准 | 列表 分类: PHP

PHP 异常处理

异常(Exception)用于在指定的错误发生时改变脚本的正常流程。

» 阅读全文

PHP字符串替换函数 strtr 浅谈

原文出处 http://blog.asdjkl.net/archives/8

先来看看这个php字符串替换函数 strtr()的两种状态

strtr(string,from,to)
或者strtr(string,array)

首先针对strtr函数第一种方式
我们看看下面的举例:

1
2
3
<?php
echo strtr("I Love you","Lo","lO");
?>

得到的结果是

1
I lOve yOu

这个结果提醒我们
1.strtr它是区分大小写的
2.strtr的替换是很特殊的,你注意看后面那个yOu,中间的O被替换的,这显然不是我们的本意

再举一个特殊例子,说明这个php sttr函数的怪异

1
2
3
<?php
echo strtr("I Love you","Love","");
?>

结果是

1
I Love you

什么也不会改变,所以strtr需要注意的是:
3.不能被替换为空,也就是末位那个参数不能是空字符串,当然空格是可以的。

再次举例strtr函数的另一种情况

1
2
3
<?php
echo strtr("I Loves you","Love","lOvEA");
?>

结果是

1
I lOvEs yOu

注意看第三个参数的A,在结果中并没有出现
4.我不建议用strtr以少换多

ok,既然这个strtr函数挺麻烦为什么还要用呢?
原因是,它的速度很快
据说,strtr 比 str_replace 快四倍
所以
5.能用strtr函数的时候一定要用

那怎么用才舒服?
这就是它的第二种情况
strtr(string,array)
6.strtr符合意愿的使用方法

1
2
3
4
<?php
$table_change = array('you'=>'her sister');
echo strtr("I Love you",$table_change);
?>

结果为
I Love her sister

7.小技巧:你想到替换什么你就往数组加什么
比如

1
2
3
4
5
<?php
$table_change = array('you'=>'her sister');
$table_change += array('Love' => 'hate');
echo strtr("I Love you",$table_change);
?>

结果是
I hate her sister

再次提醒那个Love 写成love 是行不通的哦。

ok,乱七八糟说了一通,其实关于strtr最想说的就是这个后面的用法了
简单方便。
貌似后面的用法也忽略掉了前后字符长度不同的问题

以上php strtr函数实验,PHP5.2 测试通过。

相当好的smarty文章 功能俱全啊

N多smarty范例 先抓进来了

» 阅读全文

相当不错的phpmailer 乱码

  $mail = new PHPMailer();
  $mail->CharSet = "GB2312"; // 设置字符集编码 utf-8
  $mail->Encoding = "base64";//设置文本编码方式

php判断Email,Url,手机号码 合法性


1. 判断:

<?php
function is_email($email){
return strlen($email) > 6 && preg_match("/^[\w\-\.]+@[\w\-]+(\.\w+)+$/", $email);
}
?>

2. 判断:

function is_url($str){
 
return preg_match("/^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"])*$/", $str);
 
}

3. 判断手机号码:

function is_mobile($str){
 
return preg_match("/^((\(\d{3}\))|(\d{3}\-))?13\d{9}$/", $str);
 
}

addslashes与mysql_escape_string的区别

mysql_escape_string与addslashes的区别在于  
mysql_escape_string总是将“'”转换成“\'”  

而addslashes  
在magic_quotes_sybase=on时将“'”转换成“''”  
在magic_quotes_sybase=off时将“'”转换成“\'

Wrong permissions on configuration ...

试用的自配服务器(php+mysql+nginx)

在网页形式下浏览数据库时

出现错误:Wrong permissions on configuration file, should not be world writable!

其实这个错误是mysql数据库的权限设置成了777所造成的

解决办法就是把数据库的根目录权限重新设置成755即可

比如数据库 phpMyAdmin的存放目录是:/opt/ppt/phpMyAdmin

则可以进行如下的操作:chmod -R 755 phpMyAdmin,这样重新设置后就可以了:-)

PHP实现长连接

 

  1. <?php  
  2. set_time_limit(0);  
  3. header("Connection: Keep-Alive");  
  4. header("Proxy-Connection: Keep-Alive");  
  5. for($i=0; $i<1000; $i++) {  
  6.    print 'fuck man!'.$i.'<br>';  
  7.    flush();  
  8.    sleep(3);  
  9.    clearstatcache();  
  10. }  
  11. ?> 

 

php数组弹出最后一个

array_pop($GAMES)

这样就能把$GAMES里面的最后一个数组给弹显出来

然后$GAMES里面的内容就少了一个

php 保留小数

$n=round(1.95583, 2); 保留两位小数+四舍五入