zoukankan      html  css  js  c++  java
  • 使用PHP的五个小技巧

    PHP的一些小技巧,比较基础,总结一下,老鸟换个姿势飘过去就是。

    1. str_replace

    str_replace是非常常常常常用的php函数,用于字符串替换,经常看到某些php新人为了替换一批字符串,写了好多行str_replace,实在是惨不忍睹。

    比如这个例子:

    $str = '某人的栖息地 --- blog.snsgou.com';
    $str = str_replace('某人', '坏人', $str);
    $str = str_replace('的', 'di', $str);
    $str = str_replace('栖息地', '猪窝窝', $str);
    $str = str_replace('blog.snsgou.com', 'snsgou.com', $str);

    以上,替换了4次字符串,实际只要换个写法,一行就搞定了:

    $str = '某人的栖息地 --- blog.snsgou.com';
    $str = str_replace(array('某人', '的', '栖息地', 'blog.snsgou.com'), array('坏人', 'di', '猪窝窝', 'snsgou.com'), $str);

    2. array

    经常看到有人拿数组这样写:

    echo $arr[some_key];

    上面这行代码能跑,看上去也没什么大问题,但是如果你把php.ini的error notice打开的话,会收到一大批error。php解析器首先是拿“some_key”当作一个常量来解释的,但如果没有定义some_key这样一 个常量,解析器还是很宽容的把它当作了一个字符串来看待。因此新人同学们最好写完整一点:

    echo $arr['some_key'];

    这样就没有问题了,如果你要把它放在双引号中连用,也不能省掉引号,可以这样写:

    echo "这是混在双引号中的字符串{$arr['some_key']}";

    3. 类型戏法

    类型戏法相当好用,比如有一个表单提交过来的变量,正常情况下它应该是整型的,有时候偷懒省去校验的写法可以是这样的:

    $intVar = (int)$_POST['post_var'];

    再比如数组,有时候写键值要打引号是不是很不爽啊,我们可以把它转换成object,比如:

    $arr = array('name' => 'volcano', 'sex' => 'male');
    $arr = (object)$arr;
    
    echo $arr->name;
    echo $arr->sex;

    是不是很省事?

    4. lambda函数

    lamda函数和array_*系列函数使用有奇效,拿php手册上的一个例子来说:

    <?php
    	$av = array("the ", "a ", "that ", "this ");
    	array_walk($av, create_function('&$v,$k', '$v = $v . "mango";'));
    	print_r($av);
    ?>

    至少省了一个for循环

    5. 嵌套循环显示表格的单元格

    嵌套循环显示表格的单元格,这是一个很老的话题哦,往往会要在某个单元格后边加个条件判断什么的,考虑是不是要输出tr抑或是td标签。

    俺这里介绍一个办法,利用array_chunk函数能够比较工整的输出html,见下例,这个例子要输出一个4行6列的表格:

    <?php
    $arr = range(1, 24); //这个会生成一个数组array(1,2,3,4....24)
    $arr = array_chunk($arr, 6);
    
    // output table
    ?>
    
    <table>
    	<?php foreach($arr as $row): ?>
    	<tr>
    		<?php foreach($row as $col):?>
    		<td><?php echo $col?></td>
    		<?php endforeach;?>
    	</tr>
    	<?php endforeach;?>
    </table>
  • 相关阅读:
    英语初级学习系列-00-Name-介绍自己
    Solidworks实例学习
    数学——泰勒公式
    SolidWorks知识积累系列-01
    彻底弄懂HTTP缓存机制及原理
    基于 Pymsql 数据库连接池
    WEB框架之Flask
    Django使用消息提示简单的弹出个对话框
    代码的调试、运行
    微信公众号本地测试环境搭建(附带内网穿透工具使用)
  • 原文地址:https://www.cnblogs.com/52php/p/5657866.html
Copyright © 2011-2022 走看看