当前位置:首页 » 编程语言 » php内部函数

php内部函数

发布时间: 2024-04-07 23:18:02

php里说出数组的常用函数及用法

PHP常用操作数组的函数
变量和数组的转换
compact() 将变量整合成数组

extract() 将数组中的每个值以键的名分解成变量
变量和字符串转换
explode() 以某个子串分解字符串成数组
implode() 将一维数组根据某个符号拼接成字符串
数组与数组之间关系
array_merge() 合并/并集
array_diff() 差集
array_intersect() 交集
数组值的操作
array_pop() 删除(弹出)数组最后一个值
array_push() 向数组中追加一个值
判断数组是否存在数组中
in_array() 判断一个值是否存在数组中
array_key_exists() 判断键是否存在数组中
数组去重
array_unique() 数组去重
获取二维数组中的值的集合
array_column() 获取二维数组中的值的集合
提取数组的键与值
array_values 提取数组的值构成一维数组
array_keys 提取数组的键构成一维数组
返回数组中的随机的键
array_rand() 返回数组中的随机的键
返回数组中值的数量
count() 返回数组中值的和
查询数组中的值
array_search() 查询数组中的值是否存在/in_array()有点相似
排序
sort() 排序有很多种,按键或值升降序
array_multisort() 多维数组排序
分割数组
array_chunk()

Ⅱ PHP中的函数

ThinkPHP中 C(),D(),S()

1.在具体的Action方法里面,可以用C()对某些参数进行动态配置,主要指那些还没有使用的参数。具体用法如下:
C('参数名称'); //获取已经设置的参数值
C('参数名称','新的参数值'); //设置新的值

2.D()函数的使用:
先定义好模型类,如UserModel,然后就可以用D()函数对数据进行操作了。例如:
先在"你的项目"\Lib\Model下建立一个名为UserModel.class.php的PHP脚本,内容如下:
class UserModel extends Model{}
然后,无需增加任何属性和方法,就可以进行如下操作:
$User = D("User"); //实例化User对象,User是你在数据库建立的一个名为"前缀_user"的数据表
也可以用$User = new UserModel()代替,进行实例化对象的操作。
实例化之后,就可以对数据进行增删查改等一系列操作了,如:
$User->find(1); //查找主键为1的记录

3.S()函数的使用:
ThinkPHP把各种缓存方式都抽象成统一的缓存类来调用,而且ThinkPHP把所有的缓存机制统一成一个S方法来进行操作,所以在使用
不同的缓存方式的时候并不需要关注具体的缓存细节。如:
S('data',$Data); //使用data标识缓存$Data数据
S('data',$Data,3600); //缓存$Data数据3600秒
$Data = S('data'); //获取缓存数据

Ⅲ ThinkPHP 中系统函数有哪些

首先给大家介绍ThinkPHP函数详解:M方法 M方法用于实例化一个基础模型类,和D方法的区别在于: 1、不需要自定义模型类,减少IO加载,性能较好; 2、实例化后只能调用基础模型类(默认是Model类)中的方法; 3、可以在实例化的时候指定表前缀、数据库和数据库的连接信息; D方法的强大则体现在你封装的自定义模型类有多强,不过随着新版ThinkPHP框架的基础模型类的功能越来越强大,M方法也比D方法越来越实用了。 M方法的调用格式: M('[基础模型名:]模型名','数据表前缀','数据库连接信息') 我们来看下M方法具体有哪些用法: 1、实例化基础模型(Model) 类 在没有定义任何模型的时候,我们可以使用下面的方法实例化一个模型类来进行操作: //实例化User模型 $User = M('User'); //执行其他的数据操作 $User->select(); 这种方法最简单高效,因为不需要定义任何的模型类,所以支持跨项目调用。缺点也是因为没有自定义的模型类,因此无法写入相关的业务逻辑,只能完成基本的CURD操作。 $User = M('User'); 其实等效于: $User = new Model('User'); 表示操作think_user表。M方法和D方法一样也有单例功能,多次调用并不会重复实例化。M方法的模型名参数在转换成数据表的时候会自动转换成小写,也就是说ThinkPHP的数据表命名规范是全小写的格式。 2、实例化其他公共模型类 第一种方式实例化因为没有模型类的定义,因此很难封装一些额外的逻辑方法,不过大多数情况下,也许只是需要扩展一些通用的逻辑,那么就可以尝试下面一种方法。 $User = M('CommonModel:User'); 改用法其实等效于: $User = new CommonModel('User'); 因为系统的模型类都能够自动加载,因此我们不需要在实例化之前手动进行类库导入操作。模型类CommonModel必须继承Model。我们可以在CommonModel类里面定义一些通用的逻辑方法,就可以省去为每个数据表定义具体的模型类,如果你的项目已经有超过100个数据表了,而大多数情况都是一些基本的CURD操作的话,只是个别模型有一些复杂的业务逻辑需要封装,那么第一种方式和第二种方式的结合是一个不错的选择。 3、传入表前缀、数据库和其他信息 M方法有三个参数,第一个参数是模型名称(可以包括基础模型类和数据库),第二个参数用于设置数据表的前缀(留空则取当前项目配置的表前缀),第三个参数用于设置当前使用的数据库连接信息(留空则取当前项目配置的数据库连接信息),例如: $User = M('db2.User','think_'); 表示实例化Model模型类,并操作db2数据库中的think_user表。 如果第二个参数留空或者不传,表示使用当前项目配置中的数据表前缀,如果操作的数据表没有表前缀,那么可以使用: $User = M('db1.User',null); 表示实例化Model模型类,并操作db1数据库中的user表。 如果你操作的数据库需要不同的用户账号,可以传入数据库的连接信息,例如: $User = M('User','think_','mysql://user_a:1234@localhost:3306/thinkphp'); 表示基础模型类用Model,然后对think_user表进行操作,用user_a账号进行数据库连接,操作数据库是thinkphp。 第三个连接信息参数可以使用DSN配置或者数组配置,甚至可以支持配置参数。 例如,在项目配置文件中配置了: 'DB_CONFIG'=>'mysql://user_a:1234@localhost:3306/thinkphp'; 则可以使用: $User = M('User','think_','DB_CONFIG'); 基础模型类和数据库可以一起使用,例如: $User = M('CommonModel:db2.User','think_'); 如果要实例化分层模型的话,利用公共模型类的方式,我们可以使用: M('UserLogic:User'); 来实例化UserLogic,虽然这样做的意义不大,因为可以用 D('User','Logic'); 实现同样的功能。 ThinkPHP函数详解:R方法 R方法用于调用某个控制器的操作方法,是A方法的进一步增强和补充。关于A方法的用法见这里。 R方法的调用格式: R('[项目://][分组/]模块/操作','参数','控制器层名称') 例如,我们定义了一个操作方法为: class UserAction extends Action { public function detail($id){ return M('User')->find($id); } } 那么就可以通过R方法在其他控制器里面调用这个操作方法(一般R方法用于跨模块调用) $data = R('User/detail',array('5')); 表示调用User控制器的detail方法(detail方法必须是public类型),返回值就是查询id为5的一个用户数据。如果你要调用的操作方法是没有任何参数的话,第二个参数则可以留空,直接使用: $data = R('User/detail'); 也可以支持跨分组和项目调用,例如: R('Admin/User/detail',array('5')); 表示调用Admin分组下面的User控制器的detail方法。 R('Admin://User/detail',array('5')); 表示调用Admin项目下面的User控制器的detail方法。 官方的建议是不要在同一层多太多调用,会引起逻辑的混乱,被公共调用的部分应该封装成单独的接口,可以借助3.1的新特性多层控制器,单独添加一个控制器层用于接口调用,例如,我们增加一个Api控制器层, class UserApi extends Action { public function detail($id){ return M('User')->find($id); } } 然后,使用R方法调用 $data = R('User/detail',array('5'),'Api'); 也就是说,R方法的第三个参数支持指定调用的控制器层。 同时,R方法调用操作方法的时候可以支持操作后缀设置C('ACTION_SUFFIX'),如果你设置了操作方法后缀,仍然不需要更改R方法的调用方式。 以上内容给大家分享了ThinkPHP函数详解之M方法和R方法,希望对大家有所帮助。

Ⅳ phpinfo怎么用

显示PHP的当前信息,其中包括PHP扩展和编译版本,服务器信息和环境,PHP环境中,路径,主机和本地配置选项,HTTP头,PHP许可等等(详细信息可参考PHP手册)。要得到这些信息,不仅可以从浏览器中查看,还可以使用命令行在服务器上查看。

使用浏览器查看很简单,:只需要在网站目录创建一个PHP文件,使用上面提到的phpinfo()函数,如:

1:<?php

2:phpinfo();

3:?>

然互在浏览器中输入此文件路径即可查看。

在Linux服务器上,还可以使用如下命令,不用浏览网页同样可以查看PHP信息,如:

php -r 'phpinfo();'

此命令同样可以得到网页形式的结果。

(4)php内部函数扩展阅读:

phpinfo使用说明:

boolphpinfo([ int$what = INFO_ALL ] )

输出PHP当前状态的大量信息,包含了 PHP 编译选项、启用的扩展、PHP 版本、服务器信息和环境变量(如果编译为一个模块的话)、PHP环境变量、操作系统版本信息、path 变量、配置选项的本地值和主值、HTTP 头和PHP授权信息(License)。

因为每个系统安装得有所不同,phpinfo()常用于在系统上检查 配置设置和 预定义变量。

phpinfo()同时是个很有价值的、包含所有 EGPCS(Environment, GET, POST, Cookie, Server) 数据的调试工具。

Ⅳ PHP的常用系统函数有哪些

PHP自带了大量的系统函数,使用这些函数可以完成大部分的任务。常用的有数学运算函数和日期时间函数。

1.数学运算函数:

数学运算是程序中最常执行的功能之一,PHP提供了很多系统函数实现运算功能,无须安装、编译和配置便可以直接使用。下表列出了常用的数学函数:

函数名称

功能描述

函数名称

功能描述

abs()

绝对值

is_finite()

判断是否为有限值

acos()

反余弦

is_infinite()

判断是否为无限值

acosh()

反双曲余弦

is_nan()

判断是否为合法数值

asin()

反正弦

lcg_value()

组合线性同余发生器

asinh()

反双曲正弦

log10()

以10为底的对数

atan2()

两个参数的反正切

log()

自然对数

atan()

反正切

max()

最大值

atanh()

反双曲正切

min()

最小值

base_convert()

在任意进制之间转换数字

mt_getrandmax()

显示随机数的最大可能值

bindec()

二进制转换为十进制

mt_rand()

生成更好的随机数

ceil()

进一法取整

mt_sran()

播下一个更好随机数种子

cos()

余弦

octdec()

八进制转换为十进制

cosh()

双曲余弦

pi()

圆周率

decbin()

十进制转换为二进制

pow()

指数表达式

dechex()

十进制转换为十六进制

rad2deg()

将弧度转换为相应的角度值

decoct()

十进制转换为八进制

rand()

产生一个随机数

deg2rad()

将角度转换为弧度

round()

对浮点数四舍五入

exp()

计算e的指数

sin()

正弦

floor()

舍去法取整

sinh()

双曲正弦

fmod()

返回除法的浮点数余数

sqrt()

平方根

getrandmax()

显示随机数最大的可能值

srand()

播下随机数发生器种子

hexdec()

十六进制转换为十进制

tan()

正切

hypot()

计算直角三角形的斜边长度

tanh()

双曲正切

注意:这些数学函数仅能处理计算机中integer和float范围的值。
示例:产生随机密码的的函数
function CreatePassword($length=6) //生成密码函数,默认6位
{
$dictionary=””; //密码字典
$maxChar=strlen($dictionary); //获取字典长度
$password=””;
for($i=0; $i<$length; $i++) //随机生成每一位
{
$password.=$dictionary[rand(0, $maxChar)]; //产生随机数,再从字典取字母
}
return $password;
}

2.日期和时间运算:

PHP提供了丰富的日期和时间方面运算的函数。

1)UNIX时间戳:

时间戳(Timestamp)是源于UNIX系统的时间表示方法,是指从1970年1月1日(00:00:00GMT)起到现在所经过的秒数,因此也称为UNIX时间戳。
在PHP中使用时间戳的最简单方式就是调用time()函数,time()函数可以根据当前时间返回一个时间戳的表示法。示例:
echo “当前时间戳为:”.time();

2)日期函数:

PHP提供的一些常用的日期函数。
①date()函数:
date()函数用于格式化一个本地日期和时间。语法格式为:
string date(string $format [, int $timestamp])
返回将整数$timestamp按照$format给定格式而产生的字符串。其中,$timestamp参数是可选的,如果没有给出时间戳,则使用本地当前时间,即time()。
下表列出了$format格式化字符串参数的说明:



说明

返回值

D

月份中的第几天,有前导零的2位数字

01到31

D

星期中的第几天,文本表示,3个字母

Mon到Sun

J

月份中的第几天,没有前导零

1到31

L

L的小写字母,表示星期几的完整文本格式

Sunday到Saturday

N

数字表示的星期中的第几天

1(表示星期一)到7(表示星期天)

S

每月天数后面的英文后缀,2个字符

st,nd,rd或th。可以和j一起用

W

星期中的第几天,数字表示

0(表示星期天)到6(表示星期六)

Z

年份中的第几天

0到366

W

年份中的第几周,每周从星期一开始

例如:42(当年的第42周)

F

月份,完整的文本格式,例如January

January到December

M

数字表示的月份,有前导零

01到12

M

3个字母缩写表示的月份

Jan到Dec

N

数字表示的月份,没有前导零

1到12

t

给定月份所应有的天数

28到31

L

是否为闰年

如果是闰年为1,否则为0

o

年份数字

例如:2016

Y

4位数字完整表示的年份

例如:2016

y

2位数字表示的年份

例如:16

a

小写的上午和下午值

am或pm

A

大写的上午和下午值

AM或PM

g

小时,12小时格式,没有前导零

1到12

G

小时,24小时格式,没有前导零

0到23

h

小时,12小时格式,有前导零

01到12

H

小时,24小时格式,有前导零

00到23

i

有前导零的分钟数

00到59

s

秒数,有前导零

00到59

e

时区标识

例如:UTC,GMT,Atlantic/Azores

I

是否为夏令时

如果是夏令时为1,否则为0

O

与格林威治时间相差的小时数

例如:+0200

Z

时差偏移量的秒数

-43200到43200

c

ISO8601格式的日期

2011-05-12T15:19:21+00:00

r

RFC822格式的日期

例如:Thu, 21 Dec 2011 06:07:08 +0200

U

从January 1 1970 00:00:00开始至今的秒数

与time()函数相同

示例:
$today=date(“m/d/y”); //结果为:07/19/12
$today=date(“F j, Y, g:i a”); //结果为:July 19, 2012, 9:07 am
$today=date(“Y年n月j日”); //结果为:2012年7月19日
$today=date(“Y-m-d H:i:s”); //结果为:2012-07-19 09:07:32
$today=date(“D M j G:i:s T Y”); //结果为:Thu Jul 19 9:07:32 CST 2012
$today=date(‘i t i s t h e jS d a y’); //结果为:07 31 07 32 31 09 Asia/Shanghai 19th 19 am 12
$today=date(‘\i\t \i\s \t\h\e jS \d\a\y’); //结果为:it is the 19th day
$today=date(‘H:m:s \m \i\s\ \m\o \h’); //结果为:09:07:32 m is month
②gmdate()函数:
gmdate()函数实现与date()函数相同的功能,不同的是gmdate()函数返回的时间是格林威治标准时间(GMT)。语法格式为:
string gmdate(string $format [, int $timestamp])
③getdate()函数:
getdate()函数用于获取指定的日期和时间信息。语法格式为:
array getdate([int $timestamp])
如果没有指定时间戳$timestamp,则使用系统当前的本地时间。getdate()函数返回一个数组,数组中的每个元素代表日期和时间中的特定组成部分。下表列出了返回数组中键名的说明:

键名

说明

返回值例子

seconds

秒的数字表示

0到59

minutes

分钟的数字表示

0到59

hours

小时的数字表示

0到23

mday

月份中的第几天的数字表示

1到31

wday

星期中的第几天的数字表示

0(表示星期天)到6(表示星期六)

mon

月份的数字表示

1到12

year

4位数字表示的完整年份

例如:2016

yday

一年中的第几天的数字表示

0到365

weekday

星期几的完整文本表示

Sunday到Saturday

month

月份的完整的文本表示

January到December

0

自从UNIX纪元开始至今的秒数

和time()的返回值类似,是一个时间戳

示例:
<?php
$today=getdate();
print_r($today);
printf(“今天是%s年%s月%s日 星期%s \n”, $today[“year”], $today[“mon”], $today[“mday”], $today[“wday”]);
printf(“现在时间是%s时%s分%s秒”, $today[“hours”], $today[“minutes”], $today[“seconds”]);
?>
执行后的结果为:
Arrar
(
[seconds]=>15
[minutes]=>37
[hours]=>9
[mday]=>19
[wday]=>4
[mon]=>7
[year]=>2016
[yday]=>200
[weekday]=>Thursday
[month]=>July
[0]=>1342661835
)
今天是2016年7月19日 星期4
现在时间是 9时37分15秒
④checkdate()函数:
checkdate()函数用于检查一个日期是否有效,有效则返回true,否则返回false。语法格式为:
bool checkdate(int $month, int $day, int $year)
当满足如下条件时,checkdate()函数将认为是一个有效的日期:
·$year的值是从1到32767
·$month的值是从1到12
·$day的值在给定的$month所应该具有的天数范围之内,包括闰年情况
示例:
echo checkdate(2,29,2012)?”有效”:”无效”;

2)时间函数:

①time()函数:
time()函数使用方法非常简单,没有参数调用后返回当前日期和时间的UNIX时间戳。语法格式为:
int time(void)
示例:
$next50day=time()+(50*24*60*60); //计算50天以后的日期
②mktime()函数:
mktime()函数的作用与time()函数相同,都可以返回一个时间戳表示的时间。不同的是,在mktime()函数中可以指定具体的日期和时间。语法格式为:
int mktime([int $hour],[int $minute],[int $second],[int $month], [int $day],[int $year])
上述参数列表从右向左顺序省略,任何省略的参数会被设置为本地日期和时间的当前值。如果指定的时间无法表示,则返回false。mktime()函数在做日期计算和验证方面很有用。示例:
$day1=mktime(0,0,0,12,25,2012);
$day2=mktime(0,0,0,10,1,2012);
$days=($day1-$day2)/(24*60*60); //根据时间戳计算出相差的天数
③strtotime()函数:
strtotime()函数用于将可阅读的英文日期/时间字符串转换成UNIX时间戳。语法格式:
int strtotime(string $time[, int $now])
其中,$time参数表示要被转换的字符串,$now表示计算返回值的时间戳。如果没有提供$now参数,将使用系统的当前时间。strtotime()函数成功时返回时间戳,否则返回false。
④microtime()函数:
microtime()函数调用后将返回当前UNIX时间戳和微秒数。语法格式为:
mixed microtime([bool $get_as_float])
这里的可选参数$get_as_float是一个布尔值,如果为true将返回一个浮点数。默认不带参数时将以“msec sec”格式返回一个字符串,其中msec是微秒部分,sec是UNIX时间戳。

热点内容
如何在别人的服务器加模组 发布:2024-05-20 21:28:29 浏览:60
服务器的bios芯片电脑店有吗 发布:2024-05-20 21:28:26 浏览:223
剪辑电影什么配置 发布:2024-05-20 21:25:17 浏览:818
解压神器中的诡异事件 发布:2024-05-20 21:17:59 浏览:7
星火草原系统源码 发布:2024-05-20 21:12:44 浏览:767
c编译器手机版中文版下载 发布:2024-05-20 21:11:56 浏览:777
存储超融合 发布:2024-05-20 21:07:24 浏览:455
孩子培训编程 发布:2024-05-20 21:05:57 浏览:455
linux服务器源码 发布:2024-05-20 21:05:00 浏览:400
javaread 发布:2024-05-20 20:51:52 浏览:789