注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

又一个部落格

换过很多备忘录,不知道这本怎么样!

 
 
 

日志

 
 

几个php 实用函数  

2010-02-01 16:10:03|  分类: php |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
array sys_getloadavg  ( void  )
    获取系统分别在1,5,15分钟时的平均负载,windows中不能使用
    <?php
    $load = sys_getloadavg();
    if ($load[0] > 80) {
        header('HTTP/1.1 503 Too busy, try again later');
        die('Server too busy. Please try again later.');
    }
    ?>


int cal_days_in_month  ( int $calendar  , int $month  , int $year  )
    计算某一年的某个月有多少天
    <?php
    $num = cal_days_in_month(CAL_GREGORIAN, 8, 2003); // 31
    echo "There was $num days in August 2003";
    ?>



bool natsort  ( array &$array  )
    使用自然排序算法对一个数组进行排序,下面的例子可以看出来和sort排序的差别
    <?php
    $array1 = $array2 = array("img12.png", "img10.png", "img2.png", "img1.png");

    sort($array1);
    echo "Standard sorting\n";
    print_r($array1);

    natsort($array2);
    echo "\nNatural order sorting\n";
    print_r($array2);
    ?>
    注意下面的例子,这种情况下使用 natsort 就会产生错误的结果
    <?php
    $array = array('09', '8', '10', '009', '011');
    natsort($array);
    ?>
    
int levenshtein  ( string $str1  , string $str2  )
    计算两个 从str1 到 str2 需要多少次的替换,插入,和删除操作
    可以用这个函数实现 猜测用户想输入的单词
    <?php
    // input misspelled word
    $input = 'carrrot';

    // array of words to check against
    $words  = array('apple','pineapple','banana','orange',
                    'radish','carrot','pea','bean','potato');

    // no shortest distance found, yet
    $shortest = -1;

    // loop through words to find the closest
    foreach ($words as $word) {

        // calculate the distance between the input word,
        // and the current word
        $lev = levenshtein($input, $word);

        // check for an exact match
        if ($lev == 0) {

            // closest word is this one (exact match)
            $closest = $word;
            $shortest = 0;

            // break out of the loop; we've found an exact match
            break;
        }

        // if this distance is less than the next found shortest
        // distance, OR if a next shortest word has not yet been found
        if ($lev <= $shortest || $shortest < 0) {
            // set the closest match, and shortest distance
            $closest  = $word;
            $shortest = $lev;
        }
    }

    echo "Input word: $input\n";
    if ($shortest == 0) {
        echo "Exact match found: $closest\n";
    } else {
        echo "Did you mean: $closest?\n";
    }

    ?>



array glob  ( string $pattern  [, int $flags = 0  ] )
    该函数返回一个目录的匹配文件,或者文件夹,可以使用通配符 * ? ==
    <?php
    foreach (glob("*.t?t") as $filename) {
        echo "$filename size " . filesize($filename) . "\n";
    }
    ?>
    递归的清空一个目录,值得注意的是,如果文件夹中存在 .xxx 没有文件名只有后缀的文件,那么会清空失败
    function rmrf($dir) {
        foreach (glob($dir) as $file) {
            if (is_dir($file)) {
                rmrf("$file/*");
                rmdir($file);
            } else {
                unlink($file);
            }
        }
    }
  评论这张
 
阅读(93)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017