下面贴出代码:
代码如下 | 复制代码 |
<?php //匹配时间格式为2012-02-16或2012-02-16 23:59:59前面为0的时候可以不写 |
对该正则的分析:
代码如下 | 复制代码 |
/^d{4}[-](0?[1-9]|1[012])[-](0?[1-9]|[12][0-9]|3[01])(s+(0?[0-9]|[12][0-3]):(0?[0-9]|[1-5][1-9]):(0?[0-9]|[1-5][1-9]))?$/ |
/是表达式开始符 最后面的/是表达式的结束符
^字符串的开始,即以***开始
$表示字符串的结尾,即表示已***结尾
|表示或者
()表示一个单元
d{4}匹配一个4位数,
(-)匹配一个“-”号,
(0?[1-9]|1[012])匹配月份,
(0?[1-9]|[12][0-9]|3[01])匹配天,
(s+(0?[0-9]|1[0-9]|2[0-3]):(0?[0-9]|[1-5][0-9]):(0?[0-9]|[1-5][0-9]))?
整个匹配时分秒部分,?表示有或者没有。
最后一步就是对匹配成功的进行时间戳转换
当前转换结果为:1329407999
附上我自己写的实例
代码如下 | 复制代码 |
<meta charset='utf-8'> |
功能:对数组进行重新排序.
说明:冒泡排序 (一维数组)(二维数组某个健排序)
两两比较待排序数据元素的大小,发现两个数据元素的次序相反时即进行交换,直到没有反序的数据元素为止
设想被排序的数组R[1..N] 垂直竖立,将每个数据元素看作有重量的气泡,从下往上扫描数组,凡扫描违反原则的轻气泡,就使其向上”漂浮”.如此反复进行.直到最后任何两个气都是轻者在上,重者在下为止.
代码如下 | 复制代码 |
/** function bubble_sort($array,$key=null) { |
array_multisort排序使用方法
array_multisort() 对二位数组按照指定键值排序的使用方法
本例中定义了一个名为 $data 的二维数组,然后对它进行排序,方法如下
代码如下 | 复制代码 |
$data[] = array('volume' => 67, 'edition' => 2);
Array |
一维数组排序我们只要使用sort()就可以了,相对应的 asort($arr); 函数,是按键值排序,且维持原有的键值关系。
同样原理,rsort(); arsort(); krsort(); 函数除了排序是按降序排列外,其它与sort(); rsort(); ksort(); 相同。
以前我们有讲过各种php数组排序的方法,同时php也提供了大量的数据排序函数,sort(),asort(),arsort()等,下面我来给各位同学介绍二维数组按指定的键值排序的方法。具体实例
代码如下 | 复制代码 |
/*二维数组按指定的键值排序*/ |
使用方法:
比如:
代码如下 | 复制代码 |
$a=array( 1=>array( id=>1, price=>'79', ), 2=>array( id=>1, price=>'68', ), ); |
就使用:
代码如下 | 复制代码 |
array_sort($a,'price'); |
php数组排序函数
sort ( &$arr [,fruits] ) 对数组进行从低到高排序 ,并赋予新的键名 返回bool 111cn.net
rsort ( &$arr [,fruits] ) 对数组进行逆向排序 并赋予新的键名
asort ( &$arr [,fruits] ) 对数组进行排序 ,并保持索引不变
arsort( &$arr [,fruits] ) 对数组进行逆向排序 并保持索引不变
ksort ( &$arr [,fruits] ) 对数组按照键名进行排序
krsort( &$arr [,fruits] ) 对组数按照键名进行逆向排序
natsort( &$arr ) 对数组键值进行‘自然排序法’ 按照长度 字母排序等
natcasesort( &$arr ) 对数组进行不区分大小写的 ‘自然排名’
usort ( &$arr , cmp_function ) 用户自定义函数对一个数组进行排序 重新排列键名
uksort (&$arr , cmp_function ) 用户自定义函数对一个数组进行键名排序
uasort (&$arr , cmp_function) 用户自定义函数对数组进行排序 并保持索引不变
array_multisort( $arr , mixed)
第二个参数是 可以根据值改变排序行为
SORT_REGULAR 正常比较单元 SORT_NUMERIC www.111cn.net 单元被作为数字来比较
SORT_STRING 单元被作为字符串来比较 SROT_LOCALE_STRING 根据当前的local 设置来把单元当做字符串比较
这几天关注了一下PHP的采集程序,才发现用PHP采集内容是这么方便,把经常用到的采集函数在这里总结一下,方便以后使用!
代码如下 | 复制代码 |
获取所有链接内容和地址 获取所有的图片地址 当前的脚本网址 把全角数字转为半角数字 去除HTML标记 清除HTML标记 相对路径转化成绝对路径 获取指定标记中的内容 HTML表格的每行转为CSV格式数组 将HTML表格的每行每列转为数组,采集表格数据 返回字符串中的所有单词 $distinct=true 去除重复 |
通过下面的例子来说明:
代码如下 | 复制代码 |
$arr = array(0, 1, 2, 3, 4); if (empty($arr[$index])) { print_r($arr); 输出为: |
4)从上面的输出结果可以看到数组的长度是正常的,但是下标还是保持原来的,所以按照下标去获取元素就会出问题。另外此方法对key-value形式的数组是安全的。
如何安全的删除元素呢?可以使用array_splice函数。array_splice()的用途是删除原始数组中指定的一系列元素,并用其他值代替(如果指定),返回值是被删除的元素。
代码如下 | 复制代码 |
$arr = array(0, 1, 2, 3, 4); 输出为: |
2)如果想获取删除首位元素后的数组,则可以有两种方法:
代码如下 | 复制代码 |
1、 2、 |
还有array_shift() 函数删除数组中的第一个元素,并返回被删除元素的值.
相对的array_pop() 函数删除数组中的最后一个元素.
array_pop()函数删除并返回数组的最后一个元素。其形式为:
mixed array_pop(aray target_array);
下面的例子从$states数组删除了最后的一个州:
代码如下 | 复制代码 |
$fruits = array("apple","banana","orange","pear"); $fruit = array_pop($fruits); //$fruits = array("apple","banana","orange"); //$fruit = "pear"; |
array_filter()删除数组中的空元素
函数名:array_filter()
调用方式:array_filter($array)
参数说明:$array 是操作的对象,我们将删除其中的空元素
实例:
代码如下 | 复制代码 |
<?php [a] => abc [b] => bcd [c] => cde [d] => def ) |
几个函数用下来觉得array_search()比较实用
array_search() 函数与 in_array() 一样,在数组中查找一个键值。如果找到了该值,匹配元素的键名会被返回。如果没找到,则返回 false
代码如下 | 复制代码 |
$del_value = 3; print_r($array); 输出 array('1', '2', '4', '5'); |