php语法技巧代码实例

1. DIRECTORY_SEPARATOR 与 PATH_SEPARATOR

DIRECTORY_SEPARATOR:路径分隔符,linux上就是‘/'    windows上是‘\'
PATH_SEPARATOR:include多个路径使用,在windows下,当你要include多个路径的话,你要用”;”隔开,但在linux下就使用”:”隔开的。

2.set_include_path 与 get_include_path

此方法可以设置文件的include路径,设置后,include文件会先在include_path中查找,如没再按设定的路径查找。
例如:include目录下有个router.php与config.php,可以这样include

set_include_path('include');include('route.php');include('config.php');

另外,此方法可以指定多个include_path,用PATH_SEPARATOR分隔。
例如有 ./a ./b ./c 三目录,每个目录下分别有a.php,b.php,c.php,include 3个目录的文件

$inc_path = array('a','b','c');
set_include_path(get_include_path().PATH_SEPARATOR.implode(PATH_SEPARATOR,$inc_path));
include('a.php');
include('b.php');
include('c.php');

查看include_path可以使用 get_include_path()

3.call_user_func 与 call_user_func_array

call_user_func 调用用户自定义方法,第一个参数为要调用的方法名,第二个参数开始为调用方法要传递的参数。

function foo($a,$b){
 echo $a.' '.$b;
}
call_user_func('foo',100,200); // 输出:100 200

call_user_func_array 与 call_user_func一样,调用用户自定义方法,第一个参数为要调用的方法名,第二个参数是一个数组,数组内每一个元素是传递给调用方法的参数。这样比call_user_func更清晰。

function foo($a,$b){
 echo $a.' '.$b;
}
call_user_func_array('foo', array(100,200)); // 输出:100 200

调用类方法

class Foo{
 function show($a, $b){
 echo $a.' '.$b;
 }
}
call_user_func(array('Foo','show'), 100, 200); // 输出 100 200
call_user_func_array(array('Foo','show'), array(300,400)); // 输出 300 400

4.func_num_args 与 func_get_arg 与 func_get_args

func_num_args() 返回调用方法的传入参数个数,类型是整型
func_get_arg() 返回指定的参数值
func_get_args() 返回所有参数值,类型是数组

function foo(){
 $num = func_num_args();
 echo $num; // 2
 for($i=0; $i<$num; $i++){
 echo func_get_arg($i); // 1 2
 }
 print_r(func_get_args()); // Array
}
foo(1,2);

5.使用php解释js文件 在apache httpd.conf中加入:

AddType application/x-httpd-php .js

6.使用冒号表示语句块

流程控制的书写模式有两种语法结构。一种用大括号表示语句块,一种用冒号表示语句块。前者一般用于纯代码中,后者一般用于代码和HTML结合时。

大括号表示语句块

if ($value) {
 // 操作;
} elseif($value) {
 // 操作;
} else {
 // 操作;
}

冒号表示语句块

使用冒号“:”来代替左边的大括号“{”;使用endif; endwhile; endfor; endforeach; 和endswitch; 来代替右边的大括号“}”。

if ($value) :
 // 操作
elseif ($value) :
 // 操作
else :
 // 操作
endif

7.php 求余出现负数处理方法

php int 的范围是 -2147483648 ~ 2147483647,可用常量 PHP_INT_MAX 查看。

当求余的数超过这个范围,就会出现溢出。从而出现负数。

<?php
echo 3701256461%62; // -13
?>

即使使用floatval 方法把数值转型为浮点数,但php的求余运算默认使用整形来计算,因此一样有可能出现负数。

解决方法是使用浮点数的求余方法 fmod。

<?php
$res = floatval(3701256461);
echo fmod($res,62); // 53
?>

8.使用file_get_contents post 数据

<?php
$api = 'http://demo.fdipzone.com/server.php';
$postdata = array(
 'name' => 'fdipzone',
 'gender' => 'male'
);
$opts = array(
 'http' => array(
 'method' => 'POST',
 'header' => 'content-type:application/x-www-form-urlencoded',
 'content' => http_build_query($postdata)
 )
);
$context = stream_context_create($opts);
$result = file_get_contents($api, false, $context);
echo $result;
?>

9.设置时区

ini_set('date.timezone','Asia/Shanghai');

到此这篇关于php语法技巧代码实例的文章就介绍到这了,更多相关php语法技巧内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • PHP学习的技巧和学习的要素总结

    1.适合PHP学习者的学习道路: (1) 了解HTML/CSS/JS..网页根本元素,完毕阶段可自行制造简略的网页,对元素特点相对了解 (2) 了解动态言语的概念和运做机制,了解根本的PHP语法 (3) 学习如何将PHP与HTML结合起来,完毕简略的动态页面 (4) 触摸学习MySQL,开始设计数据库 (5) 不断安定PHP语法,了解大部分的PHP常用函数,了解面向目标编程,MySQL优化,以及一些模板和结构 (6) 毕竟完毕一个功用彻底的动态站点(hanjiaLi) 2.享10条PHP功用优化

  • php技巧小结【推荐】

    1 如何定义linux和window通用的文件分隔符号 DIRECTORY_SEPARATOR : 目录分隔符,是定义php的内置常量.在调试机器上,在windows我们习惯性的使用"\"作为文件分隔符,但是在linux上系统不认识这个标识,于是就要引入这个php内置常量了:DIRECTORY_SEPARATOR 这样可以不用判断是在linux还是window系统下 2 PHP压缩与解压缩类 PclZip是一个很强大的压缩与解压缩zip文件的PHP类,PclZip library能够压

  • php语法检查的方法总结

    我们可以使用lint检查 用lint静态检查. 静态是一种只检查语法描述方法而不执行程序的方法. 此时使用lint命令. ※php_check_syntax这个语法检查函数已经被废止,所以不能使用. 然后准备实际出现错误的php文件. lint_test.php <?php echo "error" 它只是一个在屏幕上显示error的代码. 将lint_test.php移动到某个目录并发出以下命令. php -l lint_test.php 执行结果 PHP Parse erro

  • PHP基本语法实例总结

    本文实例讲述了PHP基本语法.分享给大家供大家参考,具体如下: Demo1.php <?php //echo 表示向浏览器输出,echo 其实是一个函数 //双引号括起来的是字符串 echo '阅谁问君诵,水落清香浮.'; /* * * * * */ #这也是一种注释 ?> <? echo "阅谁问君诵,水落清香浮." ?> <script language="php"> echo '阅谁问君诵,水落清香浮.'; </scr

  • PHP注释语法规范与命名规范详解篇

    HP注释规范 注释在写代码的过程中非常重要,好的注释能让你的代码读起来更轻松,在写代码的时候一定要注意注释的规范. "php是一门及其容易入门的语言,刚入门的新手不到几分钟的时间可能就会用echo打印出一个hello world !但是他是真正的程序员吗?怎么来定义程序员呢?如果想真正成为一个程序员,那么就必须遵循一套程序书写规范," 我们经常编写一些函数,但是这些函数可能也只有自己能看得懂,甚至过一段时间自己也不认识自己写的了,那么怎么办呢?最好的办法当然是给给自己的代码加上注释.

  • php语法技巧代码实例

    1. DIRECTORY_SEPARATOR 与 PATH_SEPARATOR DIRECTORY_SEPARATOR:路径分隔符,linux上就是'/'    windows上是'\' PATH_SEPARATOR:include多个路径使用,在windows下,当你要include多个路径的话,你要用";"隔开,但在linux下就使用":"隔开的. 2.set_include_path 与 get_include_path 此方法可以设置文件的include路径

  • python实用的快捷语法技巧大全

    目录 前言 in判断 四种翻转字符串/列表的方式 平方数 进制转换 将字符串中的小写字母转为大写字母 一次性初始化多个变量 打印模块路径 列表去重 字典和列表推导 拼接字符串 循环枚举索引 开启文件分享 巧用else语句(重要) split reduce 我们把最近的知识结合起来做一道题 sorted 执行一个字符串表达式,并返回表达式的值 总结 前言 你知道a**3是什么意思吗? 你知道怎么打印模块路径吗? 你知道reduce()函数怎么用和列表怎么拼接字符串吗? 然而你可能全都知道 但是还是

  • jquery.serialize() 函数语法及简单实例

    jQuery - serialize() 方法 W3School给出的定义与用法: serialize() 方法通过序列化表单值,创建 URL 编码文本字符串. 您可以选择一个或多个表单元素(比如 input 及/或 文本框),或者 form 元素本身. 序列化的值可在生成 AJAX 请求时用于 URL 查询字符串中. 语法 $(selector).serialize()详细说明 .serialize() 方法创建以标准 URL 编码表示的文本字符串.它的操作对象是代表表单元素集合的 jQuer

  • Java8方法引用和构造引用代码实例

    这篇文章主要介绍了java8方法引用和构造引用代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一方法引用概述 方法引用是特定Lamda表达式的一种简写,其思路就是能替换Lamda表达式就直接调用函数使用方法名. 其语法格式:类名 :: 方法名. 二3种方法引用 1 指向静态方法的引用 语法格式: 静态类名(ClassName)::方法名(MethodName) 示例: // 1 Lamda静态方法 @Test public void L

  • python3读取csv文件任意行列代码实例

    这篇文章主要介绍了python3读取csv文件任意行列代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 读取每一行 reader = csv.reader(f) 此时reader返回的值是csv文件中每行的列表,将每行读取的值作为列表返回 #读取每一行 filename='D:\\file_information1.csv' import csv with open(filename,newline = '',encoding = 'ut

  • python烟花效果的代码实例

    天天敲代码的朋友,有没有想过代码也可以变得很酷炫又浪漫?今天就教大家用Python模拟出绽放的烟花,工作之余也可以随时让程序为自己放一场烟花秀. 这个有趣的小项目并不复杂,只需一点可视化技巧,100余行Python代码和程序库Tkinter,最后我们就能达到下面这个效果: 学完本教程后,你也能做出这样的烟花秀. 整体概念梳理 我们的整个理念比较简单. 如上图示,我们这里通过让画面上一个粒子分裂为X数量的粒子来模拟爆炸效果.粒子会发生"膨胀",意思是它们会以恒速移动且相互之间的角度相等.

  • Python3监控windows,linux系统的CPU、硬盘、内存使用率和各个端口的开启情况详细代码实例

    由于项目的需要,需要做一个简单监控服务器的CPU利用率.CPU负载.硬盘使用率.内存利用率和服务器的各个端口的开启情况的程序,并把结果通知到监控平台,如果出现异常,监控平台打电话或者发短信通知给具体的运维人员 python版本要求:python3.0 以上 安装 python 的 psutil 包 和 requests 包 pip install psutil pip install requests Linux系统下运行效果 Windows系统下运行效果 代码实例核心程序 # 获取端口信息 @

  • PHP队列场景以及实现代码实例详解

    为了降低单点压力,通常会根据业务情况进行分表分库,将表分布在不同的库中(库可能分布在不同的机器上),但是一个业务场景可能会同时处理两个表的操作.在这种场景下,事务的提交会变得相对复杂,因为多个节点(库)的存在,可能存在部分节点提交失败的情况,即事务的ACID特性需要在各个不同的数据库实例中保证.比如更新db1库的A表时,必须同步更新db2库的B表,两个更新形成一个事务,要么都成功,要么都失败. 那么我们如何利用mysql实现分布式数据库的事务呢? mysql是从5.0开始支持分布式事务 这里先声

  • laravel框架的缓存操作代码实例

    laravel为不同的缓存系统提供了统一的API.缓存配置位于config/cache.php.Laravel目前支持主流的缓存后端有Memcached和Redis等. 主要方法: cache::put() cache::get() cache::add() cache::pull() cache::forever() cache::forget() cahce::has() 系统默认是使用文件缓存,其缓存文件储存的位置位于storage/framework/cahce/date 设置缓存 语法

  • R语言绘制饼状图代码实例

    R编程语言有许多库来创建图表和图表. 饼图是将值表示为具有不同颜色的圆的切片. 切片被标记,并且对应于每个片的数字也在图表中表示. 在R语言中,饼图是使用pie()函数创建的,它使用正数作为向量输入. 附加参数用于控制标签,颜色,标题等. 语法 使用R语言创建饼图的基本语法是 pie(x, labels, radius, main, col, clockwise) 以下是所使用的参数的描述 x是包含饼图中使用的数值的向量. labels用于给出切片的描述. radius表示饼图圆的半径(值-1和

随机推荐