来源: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
*/
分享到:
相关推荐
本文将详细介绍九个在实际开发中非常实用且经常被忽略的PHP函数和功能。 #### 1. 任意参数数目的函数 PHP 提供了一种灵活的方式来定义函数,使得函数可以接收任意数量的参数。这可以通过 `func_get_args()` 函数...
在本篇"PHP开发笔记系列(九)- 数组(三)"中,我们将深入探讨PHP数组的高级用法,包括关联数组、多维数组以及数组函数的使用。 一、关联数组 关联数组是PHP数组的一种类型,其中的键和值之间存在关联关系,键可以...
学习如何编写和使用API,对于扩展系统功能非常有用。 九、安全防护 任何Web系统都需要考虑安全问题,例如防止SQL注入、XSS攻击等。了解并实践基本的安全防护措施,可以使你的CMS系统更加稳固。 十、性能优化 对于...
"18PHP第十八讲_PHP字符串的操作"和"19PHP第十九讲_PHP中的cookie与session"关注的是PHP的基础语法和用户交互。字符串操作在处理用户输入时必不可少,而Cookie和Session则是跟踪用户状态、实现会话管理的关键技术。 ...
3. **结合使用Smarty和Zend Framework**:展示如何将这两个工具结合起来,构建一个功能完善的CMS系统,包括用户认证、内容管理等功能。 通过这种方式构建的CMS系统具有高度的灵活性和可扩展性,适用于多种应用场景...
这个驱动程序提供了全面的功能,包括数据查询、事务处理、游标支持以及更多高级特性,以帮助开发者充分利用SQL Server的功能。 一、SQL Server与PHP的整合 在PHP环境中,SQL Server Driver for PHP 1.1 提供了桥梁...
在PHP开发过程中,数组是一种非常重要的数据结构,它允许我们存储多个值在一个变量中,每个值都有一个唯一的键作为标识。本篇笔记将探讨PHP数组的基础知识,包括数组的创建、访问、遍历以及常见的操作。 1. **数组...
PHP5是PHP(Hypertext Preprocessor)语言的第五个主要版本,它的出现极大地提升了PHP在Web开发领域的地位。PHP是一种开源的服务器端脚本语言,尤其适合于Web开发,可以嵌入到HTML中使用。PHP5在PHP4的基础上进行了...
这对于处理上传下载、日志记录等功能非常有用。 【第八天:会话与Cookie】 PHP的session和cookie机制用于跟踪用户状态。session存储在服务器端,安全性较高,而cookie存储在客户端,易受攻击。合理运用两者可以...
PHP5是PHP语言的一个重要版本,它在PHP4的基础上进行了大量的改进和增强,为开发者提供了更强大、更稳定的功能。 **一、类型系统** 在PHP5中,引入了面向对象编程的关键特性,如类和对象。它支持数据类型的强类型...
1. **标识**:这是一个简短的名字,用来快速地描述模式的功能。例如,“单例模式”或“工厂模式”。 2. **问题描述**:这部分详细说明了该模式所解决的问题是什么。例如,如何确保一个类只有一个实例,并提供一个...
虽然现在PHP已经发展到更高的版本,但PHP4作为历史上的一个重要里程碑,其基础知识和编程理念对理解PHP5、PHP7等后续版本仍有很大帮助。本教材通过实例讲解,让读者在实践中掌握PHP4的核心概念和技术。 一、PHP4...
- **PHP-Nuke能为您做什么**:PHP-Nuke是一个开源的内容管理系统,可以用来搭建具有新闻发布、论坛讨论、文件管理等功能的动态网站。它能够满足个人、组织或企业对于网站的基本需求,比如信息发布、用户管理和社区...
### PHP的一些基本语法知识点 #### 一、PHP简介 ...以上内容涵盖了PHP的一些基本语法,从PHP简介到文件处理等多个方面,对于初学者来说是非常有用的入门资料。掌握这些基础知识对于学习PHP编程至关重要。
在PHP中,当需要在不同平台或环境下创建相关对象集合时,抽象工厂模式尤为有用。 四、建造者模式(Builder) 建造者模式将复杂对象的构建与其表示分离,使得同样的构建过程可以创建不同的表示。在PHP中,它常用于...
在本文中,我们将深入探讨九个非常有用的PHP代码片段,这些片段可以在开发网站、应用程序或博客时极大地节省开发时间。这些代码片段包括创建数据URI、合并JavaScript和CSS文件以及在发送电子邮件时检查邮件是否被...
总的来说,这个九宫格抽奖系统集成了丰富的功能,既能满足日常运营需求,又具有高度的灵活性和可定制性。配合微信小程序和H5,它能无缝对接移动设备,为用户提供便捷的抽奖体验。在实际使用过程中,用户应根据提供的...
- **安全随机数生成器**:PHP 7.0 引入了一个新的安全随机数生成器,这在加密算法和安全相关的应用场景中非常有用。 #### 七、其他重要改进 - **删除旧功能**:为了保持语言的精简和现代化,PHP 7.0 删除了一些过时...
### PHP面试题及答案解析 #### 一、打印前一天的时间 **题目**: 使用PHP打印出前一天的时间,格式为...这些问题涵盖了PHP的基本概念、常用函数、数据库优化、模板引擎等多个方面,对准备PHP面试的人来说非常有用。
以下九个PHP函数及其特点对于开发者来说是非常重要的: 1. **任意数目的参数**: PHP允许你定义接受任意数量参数的函数,这通过`func_get_args()`函数实现。例如,你可以创建一个没有固定参数列表的函数,`func_...