`
conan_holmes
  • 浏览: 9655 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
最近访客 更多访客>>
社区版块
存档分类
最新评论

九个PHP很有用的功能(1)

    博客分类:
  • PHP
阅读更多

来源:http://coolshell.cn/?p=2394

下面是九个PHP中很有用的功能,不知道你用过了吗?

1. 函数的任意数目的参数

你可能知道PHP允许你定义一个默认参数的函数。但你可能并不知道PHP还允许你定义一个完全任意的参数的函数

下面是一个示例向你展示了默认参数的函数:

// 两个默认参数的函数
function foo($arg1 = '', $arg2 = '') {

	echo "arg1: $arg1\n";
	echo "arg2: $arg2\n";

}

foo('hello','world');
/* 输出:
arg1: hello
arg2: world
*/

foo();
/* 输出:
arg1:
arg2:
*/

 现在我们来看一看一个不定参数的函数,其使用到了?func_get_args()方法:

// 是的,形参列表为空
function foo() {

	// 取得所有的传入参数的数组
	$args = func_get_args();

	foreach ($args as $k => $v) {
		echo "arg".($k+1).": $v\n";
	}

}

foo();
/* 什么也不会输出 */

foo('hello');
/* 输出
arg1: hello
*/

foo('hello', 'world', 'again');
/* 输出
arg1: hello
arg2: world
arg3: again
*/
 

2. 使用 Glob() 查找文件

很多PHP的函数都有一个比较长的自解释的函数名,但是,当你看到?glob() 的时候,你可能并不知道这个函数是用来干什么的,除非你对它已经很熟悉了。

你可以认为这个函数就好?scandir() 一样,其可以用来查找文件。

// 取得所有的后缀为PHP的文件
$files = glob('*.php');

print_r($files);
/* 输出:
Array
(
    [0] => phptest.php
    [1] => pi.php
    [2] => post_output.php
    [3] => test.php
)
*/

 你还可以查找多种后缀名

// 取PHP文件和TXT文件
$files = glob('*.{php,txt}', GLOB_BRACE);

print_r($files);
/* 输出:
Array
(
    [0] => phptest.php
    [1] => pi.php
    [2] => post_output.php
    [3] => test.php
    [4] => log.txt
    [5] => test.txt
)
*/

 你还可以加上路径

$files = glob('../images/a*.jpg');

print_r($files);
/* 输出:
Array
(
    [0] => ../images/apple.jpg
    [1] => ../images/art.jpg
)
*/

 如果你想得到绝对路径,你可以调用?realpath() 函数:

$files = glob('../images/a*.jpg');

// applies the function to each array element
$files = array_map('realpath',$files);

print_r($files);
/* output looks like:
Array
(
    [0] => C:\wamp\www\images\apple.jpg
    [1] => C:\wamp\www\images\art.jpg
)
*/
 

3. 内存使用信息

观察你程序的内存使用能够让你更好的优化你的代码。

PHP 是有垃圾回收机制的,而且有一套很复杂的内存管理机制。你可以知道你的脚本所使用的内存情况。要知道当前内存使用情况,你可以使用?memory_get_usage() 函数,如果你想知道使用内存的峰值,你可以调用memory_get_peak_usage() 函数。

echo "Initial: ".memory_get_usage()." bytes \n";
/* 输出
Initial: 361400 bytes
*/

// 使用内存
for ($i = 0; $i < 100000; $i++) {
	$array []= md5($i);
}

// 删除一半的内存
for ($i = 0; $i < 100000; $i++) {
	unset($array[$i]);
}

echo "Final: ".memory_get_usage()." bytes \n";
/* prints
Final: 885912 bytes
*/

echo "Peak: ".memory_get_peak_usage()." bytes \n";
/* 输出峰值
Peak: 13687072 bytes
*/
 
分享到:
评论

相关推荐

    9个必须知道的实用PHP函数和功能

    本文将详细介绍九个在实际开发中非常实用且经常被忽略的PHP函数和功能。 #### 1. 任意参数数目的函数 PHP 提供了一种灵活的方式来定义函数,使得函数可以接收任意数量的参数。这可以通过 `func_get_args()` 函数...

    PHP开发笔记系列(九)- 数组(三)

    在本篇"PHP开发笔记系列(九)- 数组(三)"中,我们将深入探讨PHP数组的高级用法,包括关联数组、多维数组以及数组函数的使用。 一、关联数组 关联数组是PHP数组的一种类型,其中的键和值之间存在关联关系,键可以...

    基于PHP的小说CMS管理系统源码.zip

    学习如何编写和使用API,对于扩展系统功能非常有用。 九、安全防护 任何Web系统都需要考虑安全问题,例如防止SQL注入、XSS攻击等。了解并实践基本的安全防护措施,可以使你的CMS系统更加稳固。 十、性能优化 对于...

    php教程MYSQL学习视频PHP程序员基础课程下16-29课.rar

    "18PHP第十八讲_PHP字符串的操作"和"19PHP第十九讲_PHP中的cookie与session"关注的是PHP的基础语法和用户交互。字符串操作在处理用户输入时必不可少,而Cookie和Session则是跟踪用户状态、实现会话管理的关键技术。 ...

    国外PHP动态第四期

    3. **结合使用Smarty和Zend Framework**:展示如何将这两个工具结合起来,构建一个功能完善的CMS系统,包括用户认证、内容管理等功能。 通过这种方式构建的CMS系统具有高度的灵活性和可扩展性,适用于多种应用场景...

    sql server driver for php 1.1 中文文档

    这个驱动程序提供了全面的功能,包括数据查询、事务处理、游标支持以及更多高级特性,以帮助开发者充分利用SQL Server的功能。 一、SQL Server与PHP的整合 在PHP环境中,SQL Server Driver for PHP 1.1 提供了桥梁...

    PHP开发笔记系列(九)- 数组(一)

    在PHP开发过程中,数组是一种非常重要的数据结构,它允许我们存储多个值在一个变量中,每个值都有一个唯一的键作为标识。本篇笔记将探讨PHP数组的基础知识,包括数组的创建、访问、遍历以及常见的操作。 1. **数组...

    php5中文英文文档

    PHP5是PHP(Hypertext Preprocessor)语言的第五个主要版本,它的出现极大地提升了PHP在Web开发领域的地位。PHP是一种开源的服务器端脚本语言,尤其适合于Web开发,可以嵌入到HTML中使用。PHP5在PHP4的基础上进行了...

    初学PHP--十天学会PHP

    这对于处理上传下载、日志记录等功能非常有用。 【第八天:会话与Cookie】 PHP的session和cookie机制用于跟踪用户状态。session存储在服务器端,安全性较高,而cookie存储在客户端,易受攻击。合理运用两者可以...

    PHP5中文手册

    PHP5是PHP语言的一个重要版本,它在PHP4的基础上进行了大量的改进和增强,为开发者提供了更强大、更稳定的功能。 **一、类型系统** 在PHP5中,引入了面向对象编程的关键特性,如类和对象。它支持数据类型的强类型...

    php设计模式高清版

    1. **标识**:这是一个简短的名字,用来快速地描述模式的功能。例如,“单例模式”或“工厂模式”。 2. **问题描述**:这部分详细说明了该模式所解决的问题是什么。例如,如何确保一个类只有一个实例,并提供一个...

    PHP4 编程与实例

    虽然现在PHP已经发展到更高的版本,但PHP4作为历史上的一个重要里程碑,其基础知识和编程理念对理解PHP5、PHP7等后续版本仍有很大帮助。本教材通过实例讲解,让读者在实践中掌握PHP4的核心概念和技术。 一、PHP4...

    Building Websites with PHP-Nuke

    - **PHP-Nuke能为您做什么**:PHP-Nuke是一个开源的内容管理系统,可以用来搭建具有新闻发布、论坛讨论、文件管理等功能的动态网站。它能够满足个人、组织或企业对于网站的基本需求,比如信息发布、用户管理和社区...

    php的一些基本语法

    ### PHP的一些基本语法知识点 #### 一、PHP简介 ...以上内容涵盖了PHP的一些基本语法,从PHP简介到文件处理等多个方面,对于初学者来说是非常有用的入门资料。掌握这些基础知识对于学习PHP编程至关重要。

    PHP设计模式指南中文版

    在PHP中,当需要在不同平台或环境下创建相关对象集合时,抽象工厂模式尤为有用。 四、建造者模式(Builder) 建造者模式将复杂对象的构建与其表示分离,使得同样的构建过程可以创建不同的表示。在PHP中,它常用于...

    非常有用的9个PHP代码片段

    在本文中,我们将深入探讨九个非常有用的PHP代码片段,这些片段可以在开发网站、应用程序或博客时极大地节省开发时间。这些代码片段包括创建数据URI、合并JavaScript和CSS文件以及在发送电子邮件时检查邮件是否被...

    九宫格抽奖系统用过都说好.zip

    总的来说,这个九宫格抽奖系统集成了丰富的功能,既能满足日常运营需求,又具有高度的灵活性和可定制性。配合微信小程序和H5,它能无缝对接移动设备,为用户提供便捷的抽奖体验。在实际使用过程中,用户应根据提供的...

    php7.0的一些特性

    - **安全随机数生成器**:PHP 7.0 引入了一个新的安全随机数生成器,这在加密算法和安全相关的应用场景中非常有用。 #### 七、其他重要改进 - **删除旧功能**:为了保持语言的精简和现代化,PHP 7.0 删除了一些过时...

    PHP面试题及答案,另附学习心得

    ### PHP面试题及答案解析 #### 一、打印前一天的时间 **题目**: 使用PHP打印出前一天的时间,格式为...这些问题涵盖了PHP的基本概念、常用函数、数据库优化、模板引擎等多个方面,对准备PHP面试的人来说非常有用。

    九个你必须知道而且又很好用的php函数和特点

    以下九个PHP函数及其特点对于开发者来说是非常重要的: 1. **任意数目的参数**: PHP允许你定义接受任意数量参数的函数,这通过`func_get_args()`函数实现。例如,你可以创建一个没有固定参数列表的函数,`func_...

Global site tag (gtag.js) - Google Analytics