• 7个鲜为人知却超实用的PHP函数--转(柒捌玖零)


    PHP有许多内置函数,其中大多数函数都被程序员广泛使用。但也有一些函数隐藏在角落,本文将向大家介绍7个鲜为人知,但用处非常大的函数。 没用过的程序员不妨过来看看。 

      1.highlight_string()

      当需要在一个网站中展示PHP代码时,highlight_string()函数就变的非常有用了。该函数通过使用PHP语法高亮程序中定义的颜色,输出或返回给定的PHP代码的语法高亮版本。

      示例:

    1
    2
    3
    <?php
    highlight_string('<?php phpinfo(); ?>');
    ?>

      2.str_word_count()

      该函数必须要传递一个参数,根据参数类型返回单词的个数。如下面的所示:

    1
    2
    3
    4
    <?php
    $str = "How many words do I have?";
    echo str_word_count($str); //Outputs 6
    ?>

      3.levenshtein()

      该函数主要返回两个字符串之间的Levenshtein距离。Levenshtein 距离,又称编辑距离,指的是两个字符串之间,由一个转换成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符, 删除一个字符。该函数对查找用户所提交的错别字非常有用。

      示例:

    1
    2
    3
    4
    5
    <?php
    $str1 = "carrot";
    $str2 = "carrrott";
    echo levenshtein($str1, $str2); //Outputs 2
    ?>

      4.get_defined_vars()

      该函数返回一个包含所有已定义变量列表的多维数组,这些变量包括环境变量、服务器变量和用户定义的变量。

      示例:

    1
    print_r(get_defined_vars());

      5.escapeshellcmd()

      该函数用来避开字符串中的特殊符号,可以防止使用者耍花招来破解服务器系统。可以用本函数搭配exec() 或是system() 二个函数,这样可以减少网上使用者的恶意破坏行为。

      示例:

    1
    2
    3
    4
    5
    <?php
    $command = './configure '.$_POST['configure_options'];
    $escaped_command = escapeshellcmd($command);
    system($escaped_command);
    ?>

      6.checkdate()

      本函数可以用来检查日期是否有效,例如年为0至32767年、月为1至12月、日则随着月份及闰年变化。

      示例:

    1
    2
    3
    4
    5
    6
    7
    <?php
    var_dump(checkdate(12, 31, 2000));
    var_dump(checkdate(2, 29, 2001));
    //Output
    //bool(true)
    //bool(false)
    ?>

      7.php_strip_whitespace()

      该函数可以返回已删除PHP注释以及空白字符的源代码文件,这对实际代码数量和注释数量的对比很有用。

      示例:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    // PHP comment here
    /*
     * Another PHP comment
     */
    echo        php_strip_whitespace(__FILE__);
    // Newlines are considered whitespace, and are removed too:
    do_nothing();
    ?>

      输出结果:

    1
    2
    <?php
     echo php_strip_whitespace(__FILE__); do_nothing(); ?>
  • 相关阅读:
    eclipse插件开发:创建向导和导航器配置
    eclipse插件开发:属性视图
    标识出下列SQL语句的执行先后顺序
    webapi和webservice的本质区别
    某仪表上市公司.net-————Sql面试题
    Asp.net MVC 用EF来保存高精度小数时会碰到保留4位小数时,后两位默认为0的解决方法
    Asp.net MVC 集成AD域认证
    jquery zTree插件 json 数据详解
    模板列传值到子窗体中,子窗体中多选gridview中checkbox保存数据多项到数据库中
    asp.net comp雷达图
  • 原文地址:https://www.cnblogs.com/hesitation/p/4101630.html
Copyright © 2020-2023  润新知