Login
网站首页 > 文章中心 > 其它

和详解php函数相关的博客内容

作者:小编 更新时间:2023-08-16 18:55:04 浏览量:122人看过

什么是PHP的函数?

PHP 用户定义函数

除了内建的 PHP 函数,我们可以创建我们自己的函数.

函数是可以在程序中重复使用的语句块.

页面加载时函数不会立即执行.

函数只有在被调用时才会执行.

在 PHP 创建用户定义函数

用户定义的函数声明以关单 "function" 开头:

语法

function functionName() {

被执行的代码;

}

注释:函数名能够以字母或下划线开头(而非数字).

注释:函数名对大小写不敏感.

提示:函数名应该能够反映函数所执行的任务.

在下面的例子中,我们创建名为 "writeMsg()" 的函数.打开的花括号({)指示函数代码的开始,而关闭的花括号(})指示函数的结束.此函数输出 "Hello world!".如需调用该函数,只要使用函数名即可:

php

function writeMsg() {

echo "Hello world!";

writeMsg(); // 调用函数

PHP 函数参数

可以通过参数向函数传递信息.参数类似变量.

参数被定义在函数名之后,括号内部.您可以添加任意多参数,只要用逗号隔开即可.

下面的例子中的函数有一个参数($fname).当调用 familyName() 函数时,我们同时要传递一个名字(例如 Bill),这样会输出不同的名字,但是姓氏相同:

function familyName($fname) {

echo "$fname Zhang.br";

familyName("Li");

familyName("Hong");

familyName("Tao");

familyName("Xiao Mei");

familyName("Jian");

下面的例子中的函数有两个参数($fname 和 $year):

function familyName($fname,$year) {

echo "$fname Zhang. Born in $year br";

PHP 默认参数值

下面的例子展示了如何使用默认参数.如果我们调用没有参数的 setHeight() 函数,它的参数会取默认值:

echo "The height is : $minheight br";

PHP 函数 - 返回值

如需使函数返回值,请使用 return 语句:

function sum($x,$y) {

$z=$x◆$y;

return $z;

10 个经典PHP函数

sys_getloadavg()

sys_getloadavt()可以获得系

与其让服务器因负

载过高而宕掉,不如在系统负载很高时主动die掉一个脚本,sys_getloadavg()就是用来帮你实现这个功能的.

不过很遗憾,该函数在windows下无效.

pack()

Pack()

cal_days_in_month()

cal_days_in_month()能够返回指定月份共有多少天.

_()

WordPress开发者经常能见到这个函数,还有

_e().这两个函数功能相同,与gettext()函数结合使用,能实现网站的多语言化.具体可参见PHP手册的相关部分介绍.

get_browser()

在发送页面前先看看用户的浏览器都能做些什么是

不是挺好?get_browser()能获得用户的浏览器类型,以及浏览器支持的功能,不过首先你需要一个php_browscap.ini文件,用来给

函数做参考文件.

要注意,该函数对浏览器功能的判断是基于该类浏览器的一般特性的.例如,如果用户关闭了浏览器对

JavaScript的支持,函数无法得知这一点.但是在判断浏览器类型和OS平台方面,该函数还是很准确的.

debug_print_backtrace()

这是一个调试用的函数,能帮助你发现代码中的逻辑错误.要理

解这个函数,还是直接看个例子吧:

$a

=

0;

function

iterate()

{

global

$a;

if(

)

recur();

echo

.

",

";

recur()

$a◆◆;

//

how

did

I

get

here?

"\n\n\n";

debug_print_backtrace();

iterate();

#

OUTPUT:

#0

called

at

metaphone()

这个函数返回单词的metaphone值,相同读音的单词具有相同的metaphone值,也就是说这个函数可以帮你判断两个单词的读音是否

相同.不过对中文就无效了...

natsort()

natsort()能将一个数组以自然排序法

进行排列,直接看个例子吧:

$items

array(

"100

apples",

"110

apples"

);

normal

sorting:

sort($items);

print_r($items);

Outputs:

Array

(

[0]

①.00

apples

[1]

①.10

natsort($items);

levenshtein()

Levenshtein()

告诉你两个单词之间的"距离".它告诉你如果想把一个单词变成另一个单词,需要插入、替换和删除多少字母.

看个例子吧:

$dictionary

"php",

"javascript",

"css"

$word

"japhp";

$best_match

$dictionary[0];

$match_value

levenshtein($dictionary[0],

$word);

foreach($dictionary

as

$w)

$value

levenshtein($word,

$w);

$w;

$value;

"Did

you

mean

the

'$best_match'

category?";

①.0.

glob()

glob()会让你觉得用

opendir(),

readdir()和closedir()来寻找文件非常蠢.

foreach

(glob("*.php")

$file)

"$file\n";

PHP中的文件系统函数(一)

从这篇文章开始,我们将学习一系列的 PHP 文件系统相关函数.其实这些函数中,有很多都是我们经常用到的,大家并不需要刻意地去记住它们,只要知道有这么个东西,在使用的时候记得来查文档就可以了.

文件路径相关的函数往往在一些框架中会比较常见,而且多会配合 __FILE__ 、 __DIR__ 之类的魔术常量使用.

basename() 函数是获得路径中的文件名,它有两个参数,第一个是文件的路径,第二个是过滤掉的内容,比如第一条测试语句我们过滤掉文件的后缀名.

dirname() 返回的是路径中的路径部分,也就是不包含文件名的那部分内容,和 basename() 正好是相反的功能.

pathinfo() 函数用于以数组的形式返回路径中的信息,从结果来看,我们可以看到文件的 dirname 部分,basename 部分,以及文件的扩展名 extension 和不包含扩展名的 filename 内容.

realpath() 返回的是规范化的绝对路径名,它扩展所有的符号连接并且处理输入的路径中的 ./ 、 ../ 以及多余的 / ,返回的内容是标准规范的绝对路径.

此时此刻呢,我们学习一些修改文件相关属性的函数,主要就是在 Linux 系统环境中的文件权限信息的操作.

当然,首先我们得创建一个文件.和 Linux 中的命令是非常类似的.

touch() 函数除了给出要创建的文件名之外,还有两个可选参数可以指定文件的创建时间及访问时间,不给参数的话默认就是当前时间.这个文件名可以是相对或绝对路径中有权限的目录,并在该目录下创建一个空的文件.

通过 fileowner() 函数,我们可以获得某个文件所属的用户,默认情况下我们的用户是当前运行 PHP 脚本的用户,也就是系统目前的登录用户.今天这一节,我们使用 chown() 函数,将用户改为 www 用户.clearstatcache() 是用于清理文件系统的缓存信息,如果不清理一下的话,fileowner() 返回的依然还是之前的用户信息.

注意,上述函数如果在命令行中运行失败,大部分原因是没有权限,可以使用 sudo 进行测试.在 fastcgi 中运行时,就更加需要注意权限问题,仅在我们服务器可以操作的目录中进行安全的文件权限修改.

stat() 函数可以获取到指定文件的所有属性信息,今天这一节我们可以看到文件的 uid 、 gid 、 ctime 、 mtime 等信息.

在 Linux 系统中,有软连接和硬连接的相关知识.其实软连接就像是 Windows 中的快捷方式,而硬连接相关于复制了一份数据.在 PHP 中,也为我们提供了创建软硬连接以及相关的一些操作.

使用 link() 函数创建的就是一个指定文件的硬连接文件,而使用 symlink() 创建的则是一个软连接文件.相对来说,我们使用软连接的场景会更多一些.lstat() 就和 stat() 函数的功能一样,查看文件的各种属性信息,不过 lstat() 函数针对的是软硬连接文件.

同样地,我们也可以修改软硬连接的用户和用户组信息,不过它们的信息不能通过 fileowner() 或 filegroup() 查看.因为它们是连接文件,本身还是和原始文件绑定在一起的,使用 fileowner() 这类的函数查看到的依然是原始文件的信息.我们可以在系统环境中使用 ls -l 查看连接文件的用户和用户组信息是否修改成功.

今天的内容比较简单,而且修改权限的操作也并不常用.不过对于系统安全来,它们还是非常有用的,比如对于上传来说,我们要预防上传可执行文件的话,就可以通过修改文件的权限来让文件无法直接运行,从而起到安全保护的作用.另外,目录路径相关的操作也是一些框架的基础,几乎所有框架的入口或者说是 Composer 的入口,都会见到 dirname() 以及 basename() 之类函数的身影.

测试代码:

中的文件系统函数(一).php

参考文档:

php_uname()函数详解

php_uname — 返回运行 PHP 的系统的有关信息.

语法: php_uname ([$mode])

php_uname() 函数会返回运行 php 的操作系统的相关描述,和 phpinfo() 最顶端上输出的是同一个字符串. 如果仅仅要获取操作系统的名称.可以考虑使用常量 PHP_OS ,不过要注意该常量会包含 PHP 构建 (built) 时的操作系统名.

以上就是土嘎嘎小编为大家整理的和详解php函数相关的博客内容相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章