php常用自定义函数
1,写一个函数,算出两个文件的相对路径
有两种方法,一种是利用array的相关方法,如例1,另外一种是使用?:;运算符
先看第一种方法
function getrelativepath2($path1,$path2){
$array1=explode('/',$path1);
$array2=explode('/',$path2);
//先获取路径中相同的部分
$intersect = array_intersect_assoc($array1,$array2);
$arrayrtn1 = array_fill(0,count($array2)-count($intersect)-1,'..');
$arrayrtn2 = array_slice($array2,count($intersect)); return implode('/',array_merge($arrayrtn1,$arrayrtn2));
}
方法解析:
这种方法采用了php自带的array的相关函数
array_intersect_assoc($array1,$array2); //表示对比并获取array1和array2中相同的array,并返回这个array;
array_fill(int $strat,int $size, string $str); //表示从$start开始填充$size个$str;
array_slice(array $array
, int $offset, int $length
);//表示从$array中窃取从$offset开始$length个array中的数据,
array_merge(array $array1,array $array2); //表示合并array1和array2
implode(string $str,array $array);//表示返回一个用$str隔开的array字符串
接着看第二种方法
function getrelativepath($path1,$path2){
$array1=explode('/',$path1);
$array2=explode('/',$path2);
$relationpath="";
for($i=1;$i<count($array2)-1;$i++){
$relationpath.=$array1[$i]==$array2[$i]?'../':$array2[$i].'/';
}
return $relationpath;
}
获取相对路径
方法解析:
这种方法主要是用了?:;运算符来进行运算
容易出错点:
explode()函数返回时,第一个匹配/的是空格
php常用自定义函数的更多相关文章
- JS常用自定义函数总结
JS常用自定义函数总结 1.原生JavaScript实现字符串长度截取 2.原生JavaScript获取域名主机 3.原生JavaScript清除空格 4.原生JavaScript替换全部 5.原 ...
- mysql 常用自定义函数解析
-- /* -- * 用于获取一记录数据,根据传入的分隔字符delim,索引位置pos,返回相对应的value -- * SELECT Json_getKeyValue({"A": ...
- VBA Excel 常用 自定义函数
1. 将 互换 Excel 列号(数字/字母) Public Function excelColumn_numLetter_interchange(numOrLetter) As String Dim ...
- oracle常用自定义函数集合
1.Oracle 判断值是否为数字的函数CREATE OR REPLACE FUNCTION ISNUMBER(MyStr VARCHAR2) RETURN NUMBERIS STR VARCHAR ...
- Sql Server 常用自定义函数
-- select * from [dbo].[SplitToTable]('ADSF','|') -- 分解字符串 ALTER FUNCTION [dbo].[SplitToTable] ( @Sp ...
- python 几个常用自定义函数在dataframe上的应用
最小值与最大值 def f(x): return pd.Series([x.min(),x.max(),index=['min','max']) frame.apply(f) 浮点值的格式化 form ...
- SQL常用自定义函数
1.字符串转Table(Func_SplitToTable) CREATE FUNCTION [dbo].[Func_SplitToTable] ( @SplitString ...
- PHP 常用自定义函数
模拟 POST.GET 请求 /** * 模拟post进行url请求 * @param string $url * @param string $param */ protected function ...
- PHP常用的自定义函数
PHP常用的自定义函数 目录 php常用自定义函数类下载 php 设置字符编码为utf-8 路径格式化(替换双斜线为单斜线) 转码 打印输出 api返回信息 字符串截取 方法一: 方法二: 数组 字符 ...
随机推荐
- 网络初见&网络监测
这里需要下载一个第三方 Reachability-master 大家可以百度一下 下载之后把 Reachability拖进来 具体代码如下 #import "ViewController.h ...
- [读书笔记] CSS权威指南2: 结构和层叠
层叠样式表中最基本的一个方面可能就是层叠——冲突的声明要通过这个层叠过程排序,并由此确定最终的文档表示.这个过程的核心是选择器及其相关声明的特殊性,以及继承机制. 特殊性 对于每个规则,用户代理会计算 ...
- UIWindow 实现遮盖导航条的蒙版
使用代码构建应用的主界面 我们先来介绍一下,如何使用代码来构建项目的主界面,以及主界面的一般架构方式 概述 刚创建的 iOS 项目默认是使用 Main.storeboard 作为项目的主界面的 若你不 ...
- UITextField 的限制输入金额(可为小数的正确金额)
要判断输入金额为正确金额的方法有两个,一个是用正则表达式,另一个就是用textfield的代理方法 有时候难免遇到这样的需求,不符合规则的金额就不让输入时,那用这种方法比较合理 如果设置输入键盘为De ...
- html的层叠次序---真没有想象的简单
学习资料1: http://www.cnblogs.com/mind/archive/2012/04/01/2198995.html 学习资料2:http://www.cnblogs.com/weib ...
- js:插入节点appendChild insertBefore使用方法
首先 从定义来理解 这两个方法: appendChild() 方法:可向节点的子节点列表的末尾添加新的子节点.语法:appendChild(newchild) insertBefore() 方法:可在 ...
- TSQL--临时表和表变量
1. 临时表适用数据量较大的情况,因为临时表可以建立索引 2. 表变量适用于数据较小的情况,表变量只能在定义时创建约束(PRIMARY KEY/UNIQUE)从而间接建立索引 3. 临时表是事务性的, ...
- php cli方式下获取服务器ip
(未整理....) (1)php cli方式下获取服务器ip [php] function getServerIp(){ $ss = exec('/sbin/ifconfig et ...
- get_free_page
/** 0.11用了 unsigned char */static unsigned short mem_map [ PAGING_PAGES ] = {0,}; /* * Get physical ...
- 虚拟机centos6.5 --hadoop2.6集群环境搭建
一.环境说明 虚拟机:virtualBox 系统:centos6.5,64位 集群:3个节点 master 192.168.12.232 slave01 192.168.12.233 slave02 ...