记录PHP的点滴

我的最新日志

  • count使用要注意的

    2008-1-05

    翻手册时看到的,贴出来备忘

    mysql> SELECT COUNT(*) FROM student;

    这个优化仅适用于 MyISAM表, 原因是这些表类型会储存一个函数返回记录的精确数量,而且非常容易访问。对于事务型的存储引擎(InnoDB, BDB), 存储一个精确行数的问题比较多,原因是可能会发生多重事物处理, 而每个都可能会对行数产生影响。

  • 可以给assign单独传一个array作为参数

    2008-1-05

    一段smarty源代码,可以给assign单独传一个array作为参数
        /**
         * assigns values to template variables
         *
         * @param array|string $tpl_var the template variable name(s)
         * @param mixed $value the value to assign
         */
        
    function assign($tpl_var$value null)
        {
            if (
    is_array($tpl_var)){
                foreach (
    $tpl_var as $key => $val) {
                    if (
    $key != '') {
                        
    $this->_tpl_vars[$key] = $val;
                    }
                }
            } else {
                if (
    $tpl_var != '')
                    
    $this->_tpl_vars[$tpl_var] = $value;
            }
        }

  • 组织 WHERE子句的小技巧(OR)

    2008-1-04

    有时需要传入多个condition(至少一个),
    可以这样子来写

    $where = "";
    foreach($allCondition AS $condition){
        if($where != ""){
           $where .= " OR ";
        }
        $where = "`conditionX`=" . addslashes($condition);
    }

    这样最后生成的 WHERE 子句就是"XXX OR XXX OR ..."而当只有一个条件时为"XXX"
  • 关于$a==1与1==$a的总结

    2008-1-03

    开始作者认为有效率上的原因,
    后来我将其代码倒置
    发现$a=1反而更快,可见1==$a不是出于效率,而是为了避免逻辑错误
    另有人指出 == 与 === 在性能上存在明显的效率差异

  • 使用count()要注意的两点

    2008-1-01

    一、null和false的不同
    $result 
    count(null);
    // $result == 0

    $result count(false);
    // $result == 1
    二、是否递归计算
    <?php
    $food 
    = array('fruits'  => array('orange''banana''apple'),
                  
    'veggie'  => array('carrot''collard','pea'));

    // recursive count
    echo count($foodCOUNT_RECURSIVE);  // output 8

    // normal count
    echo count($food);                  // output 2
    ?>
     

  • 年终盘点与新年展望

    2008-1-01

    2007年对我来说是充满激情、极富戏剧性的一年,相信这是我一生的转折点。
    过去的一年里,有几个人是我要感谢的:
    妈妈、斌哥、Qividy、康天、高飞

    接下来的一个月,要把那个东西搞透。

  • schoolslam快上线了加油!

    2007-12-29

    最近都是干到12点,真累哦。
    附上加班照一张
  • 毕业了,进入INU

    2007-11-22

    加油哦,冲冲冲
  • 如何实现i图片叠加

    2007-10-02

    直接给代码,相关图片在附件

    <?php
    //打开文件
    $imgA "phpcn_logo.gif";
    $imgB "phpchina.gif";
    $sourceImg imagecreatefromgif($imgA);
    $targetImg imagecreatefromgif($imgB);

    //获取文件大小
    $sourceSize getimagesize($imgA);
    $targetSize getimagesize($imgB);

    //合并图片
    imagecopyresized($targetImg$sourceImg0000$targetSize[0], $targetSize[1], $sourceSize[0], $sourceSize[1]);

    //保存结果
    $r imagegif($targetImg"c.gif");
    if(
    $r){
            echo 
    "成功";
    }
    else{
            echo 
    "失败";
    }
    ?>

Open Toolbar