写php内置函数格式(php函数写法)
华为云服务器特价优惠火热进行中! 2核2G2兆仅需 38 元;4核4G3兆仅需 79 元。购买时间越长越优惠!更多配置及优惠价格请咨询客服。
合作流程: |
本篇文章给大家谈谈写php内置函数格式,以及php函数写法对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
微信号:cloud7591如需了解更多,欢迎添加客服微信咨询。
复制微信号
本文目录一览:
php内置函数intval()
一 描述
intval函数有个特性: 直到遇上数字或正负符号才开始做转换 再遇到非数字或字符串结束时(/ )结束转换 在某些应用程序里由于对intval函数这个特性认识不够 错误的使用导致绕过一些安全判断导致安全漏洞
二 分析
PHP_FUNCTION(intval)
{
zval **num **arg_base;
int base;
switch (ZEND_NUM_ARGS()) {
case :
if (zend_get_parameters_ex( num) == FAILURE) {
WRONG_PARAM_COUNT;
}
base = ;
break;
case :
if (zend_get_parameters_ex( num arg_base) == FAILURE) {
WRONG_PARAM_COUNT;
}
convert_to_long_ex(arg_base);
base = Z_LVAL_PP(arg_base);
break;
default:
WRONG_PARAM_COUNT;
}
RETVAL_ZVAL(*num );
convert_to_long_base(return_value base);
}
Zend/zend_operators c convert_to_long_base()
……
case IS_STRING:
strval = Z_STRVAL_P(op);
Z_LVAL_P(op) = strtol(strval NULL base);
STR_FREE(strval);
break;
当intval函数接受到字符串型参数是调用convert_to_long_base()处理 接下来调用Z_LVAL_P(op) = strtol(strval NULL base);通过strtol函数来处理参数
函数原型如下
long int strtol(const char *nptr char **endptr int base);
这个函数会将参数nptr字符串根据参数base来转换成长整型数 参数base范围从 至 或 参数base代表采用的进制方式 如base值为 则采用 进制 若base值为 则采用 进制等
流程为
strtol()会扫描参数nptr字符串 跳过前面的空格字符 直到遇上数字或正负符号才开始做转换 再遇到非数字或字符串结束时(/ )结束转换 并将结果返回
那么当intval用在if等的判断里面 将会导致这个判断实去意义 从而导致安全漏洞
三 测试代码
//intval php
$var= ;
if (intval($var))
echo it s safe ;
echo $var= $var;
echo
;
$var = union select from admin ;
if (intval($var ))
echo it s safe too ;
echo $var = $var ;
WordPress = wp trackback php Zend_Hash_Del_Key_Or_Index / sql injection exploit lishixinzhi/Article/program/PHP/201311/20990
几个比较有用的php内置函数
$_SERVER['SCRIPT_NAME'] 返回/mantis/test.php,相对路径;
__FILE__ 返回文件的绝对路径D:\Projects\mantis\test.php
$_SERVER['HTTP_X_FORWARDED_PROTO']
$_SERVER['HTTPS']
$_SERVER['SERVER_PORT']
$_SERVER["REQUEST_URI"] URI 用来指定要访问的页面
$GLOBALS一个包含了全部变量的全局组合数组。变量的名字就是数组的键。
explode 使用一个字符串分割另一个字符串 返回一个字符串数组
implode 使用一个字符将数组元素链接成字符串
$_SERVER['SERVER_NAME'] 当前脚本所在服务器的主机名
$_SERVER['HTTP_HOST'] 域名
$_SERVER['SERVER_ADDR'] 当前脚本所在服务器的IP地址
trim去除字符串首尾处的空白字符
basename 返回文件名部分
dirname 返回目录部分
krsort — 对数组按照键名逆向排序
set_time_limit()设置脚本最大执行时间
time() 返回当前的unix时间戳
is_string()判断变量是不是字符串
is_bool
is_Inteter
is_float
strtotime -- 将任何英文文本的日期时间描述解析为 UNIX 时间戳
file_exists 检查文件或目录存不存在
fopen()打开指定的文件或URL
feof()判断文件指针是否在末尾
fgets()从文件指针中读取一行
trim()去掉一行前后的空格
strlen()返回字符串的长度
str_replace
isset
str_replace( "\0", '', $t_self ) 将t_self中的\0替换成“”
strpos — 查找在字符串中首次出现的位置
?php
echo strpos(", I love php too!","php");
?
$_SERVER['SERVER_SOFTWARE'] 服务器信息
realpath 返回规范化的绝对路径名
DIRECTORY_SEPARATOR 操作系统目录分隔符
PATH_SEPARATOR 在linux系统中是一个" : "号,Windows上是一个";"号
set_include_path 设置incldue_path
get_include_path 获取当前include_path
count() 返回数组长度,非数组返回1
substr(string string ,int start [int length]) 返回从start指定位置开始的长度的字符串
$_SERVER['LOCAL_ADDR'] IIS7上用来获取服务器IP地址
$_SERVER['REMOTE_ADDR'] 浏览器用户的IP地址
array_pad — 用值将数组填补到指定长度
memory_get_usage()返回分配给PHP的内存量
spl_autoload_register 注册__autoload()函数
ob_get_contents() Return the contents of the output buffer
strtolower() 将大写字母转换为小写字母
extension_loaded('zlib')找出扩展是否被加载
ini_get 返回php.ini中配置项的值
ini_set 设置php.ini中配置项的值 ,ini_set("memory_limit",'256M'); 只在脚本执行期间生效,脚本执行完成该值重置
PHP_EOL PHP行结束符
preg_replace 执行一个正则表达式的替换
preg_match(string pattern, string subject [, array matches [, int flags]]) -- 进行正则表达式匹配
htmlspecialchars Convert special characters to HTML entities
ceil() 进一法取整
floor() 舍去法取整
round()四舍五入法
以上就是php 最常用的内置函数大全的详细内容
(100分)写几个你熟悉php内置函数!
array_change_key_case — 返回字符串键名全为小写或大写的数组
array_chunk — 将一个数组分割成多个
array_combine — 创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值
array_count_values — 统计数组中所有的值出现的次数
array_diff_assoc — 带索引检查计算数组的差集
array_diff_key — 使用键名比较计算数组的差集
array_diff_uassoc — 用用户提供的回调函数做索引检查来计算数组的差集
array_diff_ukey — 用回调函数对键名比较计算数组的差集
array_diff — 计算数组的差集
array_fill_keys — 使用指定的键和值填充数组
array_fill — 用给定的值填充数组
array_filter — 用回调函数过滤数组中的单元
array_flip — 交换数组中的键和值
array_intersect_assoc — 带索引检查计算数组的交集
array_intersect_key — 使用键名比较计算数组的交集
array_intersect_uassoc — 带索引检查计算数组的交集,用回调函数比较索引
array_intersect_ukey — 用回调函数比较键名来计算数组的交集
array_intersect — 计算数组的交集
array_key_exists — 检查给定的键名或索引是否存在于数组中
array_keys — 返回数组中所有的键名
array_map — 将回调函数作用到给定数组的单元上
array_merge_recursive — 递归地合并一个或多个数组
array_merge — 合并一个或多个数组
array_multisort — 对多个数组或多维数组进行排序
array_pad — 用值将数组填补到指定长度
array_pop — 将数组最后一个单元弹出(出栈)
array_product — 计算数组中所有值的乘积
array_push — 将一个或多个单元压入数组的末尾(入栈)
array_rand — 从数组中随机取出一个或多个单元
array_reduce — 用回调函数迭代地将数组简化为单一的值
array_replace_recursive — 使用传递的数组递归替换第一个数组的元素
array_replace — 使用传递的数组替换第一个数组的元素
array_reverse — 返回一个单元顺序相反的数组
array_search — 在数组中搜索给定的值,如果成功则返回相应的键名
array_shift — 将数组开头的单元移出数组
array_slice — 从数组中取出一段
array_splice — 把数组中的一部分去掉并用其它值取代
array_sum — 计算数组中所有值的和
array_udiff_assoc — 带索引检查计算数组的差集,用回调函数比较数据
array_udiff_uassoc — 带索引检查计算数组的差集,用回调函数比较数据和索引
array_udiff — 用回调函数比较数据来计算数组的差集
array_uintersect_assoc — 带索引检查计算数组的交集,用回调函数比较数据
array_uintersect_uassoc — 带索引检查计算数组的交集,用回调函数比较数据和索引
array_uintersect — 计算数组的交集,用回调函数比较数据
array_unique — 移除数组中重复的值
array_unshift — 在数组开头插入一个或多个单元
array_values — 返回数组中所有的值
array_walk_recursive — 对数组中的每个成员递归地应用用户函数
array_walk — 对数组中的每个成员应用用户函数
array — 新建一个数组
arsort — 对数组进行逆向排序并保持索引关系
asort — 对数组进行排序并保持索引关系
compact — 建立一个数组,包括变量名和它们的值
count — 计算数组中的单元数目或对象中的属性个数
current — 返回数组中的当前单元
each — 返回数组中当前的键/值对并将数组指针向前移动一步
end — 将数组的内部指针指向最后一个单元
extract — 从数组中将变量导入到当前的符号表
in_array — 检查数组中是否存在某个值
key — 从关联数组中取得键名
krsort — 对数组按照键名逆向排序
ksort — 对数组按照键名排序
list — 把数组中的值赋给一些变量
natcasesort — 用“自然排序”算法对数组进行不区分大小写字母的排序
natsort — 用“自然排序”算法对数组排序
next — 将数组中的内部指针向前移动一位
pos — current 的别名
prev — 将数组的内部指针倒回一位
range — 建立一个包含指定范围单元的数组
reset — 将数组的内部指针指向第一个单元
rsort — 对数组逆向排序
shuffle — 将数组打乱
sizeof — count 的别名
sort — 对数组排序
uasort — 使用用户自定义的比较函数对数组中的值进行排序并保持索引关联
uksort — 使用用户自定义的比较函数对数组中的键名进行排序
usort — 使用用户自定义的比较函数对数组中的值进行排序

如何在php里重写php的内置函数或类
不能重写。
只能改其它名字自己写函数。
如果需要兼容PHP版本,比如新版本有这个函数,旧版本没有,旧版本上运行起来会出错。
可以用function_exists加个判断
如:
if(!function_exists('array_combine')){
function array_combine($arr1,$arr2){
//处理逻辑
}
}
这样旧版本也可以运行相关的程序了
php如何定义一个show()函数
函数四要素: 返回类型 函数名 参数列表 函数体
function show() { } 最简单的函数定义方式
function Show() {echo "hello";} Show(); 有参数的函数
function show($a) {echo $a;} show("hello"); 有返回值的函数
function show(){return "aaaaa";} echo show(); 有默认值的函数
function show($a="hello"){echo $a;}show("ceshi"); 可变参数的函数
function show(){//var_dump(func_num_args());
func_get_args() 获取参数列表
func_num_args() 获取参数的个数
$attr = func_get_args();
$sum = 0;
for($i=0;$icount($attr);$i++)
{
$sum = $sum+$attr[$i];
}
return $sum;
} echo show(1,2,3,4);
常用函数
echo rand(0,10); 生成随机数
日期时间
echo time(); 取当前时间,返回Unix时间戳
echo date("Y-m-d H:i:s"); 格式化日期时间
echo strtotime("2016-3-4 12:09:10"); 将字符串转化为时间戳
字符串函数
$a = "hello|world|ni|hao";
echo strlen($a); //取字符串的长度
echo strcmp("Hello",$a); //比较两个字符串,相等返回0,区分大小写
echo strcasecmp("Hello",$a); //比较两个字符串,相等返回0,不区分大小写
echo strtolower("Hello"); //将字符串转小写
echo strtoupper("hello"); //将字符串转大写
var_dump(explode("|",$a)); //拆分字符串,返回数组
$attr = array("aa","bb","cc","dd");
echo implode("%",$attr); //拼接字符串
echo substr_replace($a,"***",0,5); //替换指定位置的字符串
第一个参数是要替换的字符串
第二个参数是替换的字符串
第三个参数是开始位置
第四个参数是替换长度
echo str_replace("|","?",$a); //查找替换
第一个参数是要查找的字符串
第二个参数是要替换的字符串
第三个参数是被操作的字符串
$s = "2016年元旦放假时间安排表";
echo str_replace("元旦","mark元旦/mark",$s);
$str2 = substr($str,9,4);
echo "从第9个字符开始取4个字符:".$str2.
echo substr($a,0,5); //截取指定位置的字符
$s = ""; for($i=0;$i10;$i++) {$s = $s.$i.",";}
$s = substr($s,0,strlen($s)-1);
echo $s; 关于字符串定义
$a = "test"; $s = "hello{$a}world"; $str = 'helloworld'; echo $str;//区别:
1.单引号不解析转义字符,内容会原样输出
2.单引号不解析变量
$z1 = "p001"; $z2 = "张三"; $z3 = "男"; $z4 = "2000-1-2"; $z5 = "0904";
$sql = "insert into info values('".$z1."','".$z2."','".$z3."','".$z4."','".$z5."')";或
$sql = "insert into info values('{$z1}','{$z2}','{$z3}','{$z4}','{$z5}')";
echo $sql;*/
$s = A
span style="color:red"你好/span
A; 后者A必须是在一行顶格
echo $s;
转载于:
原文链接:
点击阅读全文
打开CSDN APP,看更多技术内容
PHP函数参考手册大全
17. 函数 18. 类与对象(PHP 4) 19. 类与对象(PHP 5) 20. 异常处理 21. 引用的解释 IV. 安全 22. 简介 23. 总则 24. 以 CGI 模式安装时 25. 以 Apache 模块安装时 26. 文件系统安全 27. 数据库安全 28. 错误报告 ...
07_php函数
global关键字的使用 在函数里面的变量之前加上global,相当于函数外面的a就是函数里面的a就是函数里面的a,都变成了同一个变量 $a=10; function show(){ global $a; $a++; echo $a; } show(); //11 echo $a; //11 ?
继续访问
PHP:变量和函数2
** ** ** ** ** ** ** ** **
继续访问
PHP【函数】
目录:【PHP函数】、【PHP数组】 一、PHP常用函数(和JS一样)函数的四要素:①返回类型②函数名③参数类型④函数体因为PHP是弱类型语言,所以可以不用写返回类型,但是其他三个要素都是必须要写的。 1、最简单的函数写法 function show() { echo "hello"; } show(); 2、有返回值的函数就是在函...
继续访问
php函数方法,基于PHP函数的操作方法
如下所示://简单函数function show(){echo "hello";}show();//有参数的函数function show($a){echo "$a";}show("world");//有返回值的函数function show(){return "小V,你好!";}echo show();function show($a,$b){return $a+$b;}echo show(10...
继续访问
PHP函数的定义
函数就是功能。封装一段用于完成特定功能的代码。调用一个函数就是在调用一个功能。 内置函数: PHP函数中有一些内置函数,这些函数是不能随便进行更改的; strtoupper() 和 strtolower()是两个内置的函数,用于对字符串进行大小写转换。 $str = 'ABcd'; $upper = strtoupper($str); // 调用strtoupper()函数将$str转换成大写 ...
继续访问
html按钮调用php函数,如何在html按钮上执行php函数点击
您的按钮是HTML,而您的功能是PHP。他们看起来像在一起,因为他们在同一个文件中,但他们不在一起。 PHP仅在服务器上存在。 HTML仅适用于客户端(浏览器)。当你在浏览器上看到按钮时,PHP就消失了,你只有HTML。要创建一个HTML按钮来调用一个PHP函数,您必须将您的函数移动到一个PHP文件,然后让您的按钮使用Ajax调用它。例如:bb1.html:包含使用Ajax调用PHP函数的按钮。f...
继续访问
php调用方式,php 函数调用的几种方式
// 最常见的函数调用 --- 1function userFunction1($param1, $param2){echo 'UserFunction1: Param1 : ',$param1,' , Param2 : ',$param2,'';}userFunction1('Hello','world');// 最常见的函数调用 --- 2$userFunction2 = function($...
继续访问
在上传文件中常用的PHP函数
注:做完upload上传漏洞后,收集了一些常用的PHP函数 1.
继续访问
热门推荐 php中in array函数_PHP函数in_array()使用详解
PHP有一个系统函数is_array()可以判断一个值是否在数组中。语法如下:in_array(value,array,type)return boolen参数说明:value :要搜索的值array : 被搜索的数组type : 类型,true全等 ,false非全等(默认)示例一:普通使用代码:$str = 1;$arr = array(1,3,5,7,9);$boolvalue = in_a...
继续访问
PHP函数(function)
函数基础 函数的定义: 形式: function 函数名 ( 【$形参1】 【,$形参2】 【,.... 】 ){ //函数体。。。。。。 } 说明: 1,定义时使用的形参,其实就是一个变量——只能在该函数内部使用的变量 2,形参作为变量,其名字是“自己定义”——自然应该遵循命名规范; 函数的调用: 函数名($实参1, $实参2, ..... ); 说明: 1,实参应该...
继续访问
PHP 函数调用
函数调用 函数调用时,实参要按照顺序给形参。 函数调用时,互相独立,默认没有联系。 执行完毕后,返回调用的位置,继续向下执行。 案例 ?php function A(){ echo "This is A fun!hr /"; } function B(){ echo "Fun B begininghr /"; A(); echo "Fun B end...
继续访问
PHP 函数 数组引用传参数
?php function addElement($arr2,$school2) //数组是拷贝传值,数组作形参需要在前面加""符号,表示引用传参数。也可以在函数调用时,在实参前加""符号。 { $arr2[] = $school2; } $arr = array("张三","男",24); $school = "北京理工大学"; addElement($arr,$school)
继续访问
php round函数
php round函数用于对对浮点数进行四舍五入,其语法是round(x,prec),参数x可选,指规定要舍入的数字;prec可选,指规定小数点后的位数。 php round函数怎么用? 定义和用法 round() 函数对浮点数进行四舍五入。 语法 round(x,prec) 参数 x 可选。规定要舍入的数字。 prec 可选。规定小数点后的位数。 说明 返回将 x 根据指定精度 prec (十进...
继续访问
vscode跳转到php函数定义处
转:
继续访问
php函数中static的使用
php中static的定义语句只会被执行一次,但是它的值会被函数记住,直到程序终止 举个栗子: ?php function test() { //这个语句只会在该程序运行的第一次调用生效,但是这个值在函数执行结束后会被该函数记住, //也就是说下次执行到这个函数的,$a是已经存在的且值为上次运行后的值 static $a = 1; //只运行一次 ...
继续访问
最新发布 php的exec函数
新建一个php文件 输入命令执行 发现异常这是因为在php的配置文件中禁止了exec函数的运行,因此需要修改配置文件,使用下列代码找到配置文件 进入配置文件,将exec函数删除 重启php-fpm 然后发现可以正常运行 exec有三个参数,第二个和第三个参数不是必需的。第一个参数是执行的命令,第二个参数存储命令执行的输出,第三个参数返回执行的状态。...
继续访问
前端调用PHP函数的方式
html_entity_decode()div class="rxzcB fl"{$service.introduction|html_entity_decode}/div其中的service.introduction是从后端传过来的数据,此处的数据是html格式的,我们在前端希望看到通过浏览器解析过的文档格式,就可以调用PHP函数htmlentitydecode。比如,会将service.
继续访问
php函数-list函数
list()函数作用:将数组的元素变成变量使用 - 1.等号左边是list()函数,右边是索引数组(下标连续的,按0开始); - 2.数组中有几个元素,则list()有几个参数(参数必须是变量不能是值,而且变量是自定义的变量),跟数组的值是一一对应关系; - 3.在list()函数的参数中,空项也代表元素list($a, $b, $c) = ['aa', 'bb', 'cc'];
继续访问
php
写php内置函数格式的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于php函数写法、写php内置函数格式的信息别忘了在本站进行查找喔。
