php常用函数集锦[备份用的]
1、判断是否正确的日期格式
/**
* 是否正确的日期
*
* @access public
*/
private function _isdate($str,$format="Y-m-d H:i")
{
$strArr = explode("-",$str);
if(empty($strArr))
{
return false;
}
foreach($strArr as $val)
{
if(strlen($val)<2)
{
$val="0".$val;
}
$newArr[]=$val;
}
$str =implode("-",$newArr);
$unixTime=strtotime($str);
$checkDate= date($format,$unixTime);
if($checkDate==$str)
{
return true;
}
else
{
return false;
}
}
2、汉字转整型数字,如:三百八十六 转成 386(from:http://blog.csdn.net/sui13725202/article/details/11581989)
test(); /**
* 测试
*/
function test() {
echo CnToInt('一'); //
echo CnToInt('十'); //
echo CnToInt('十一'); //
echo CnToInt('一百一十'); //
echo CnToInt('一千零一'); //
echo CnToInt('一万零一百零一'); //
echo CnToInt('一亿一千三百万零三千零一'); //
echo CnToInt('一千万亿'); // 11.0E+15
} /**
* 中文转数字
* @param String $var 需要解析的中文数
* @param Int $start 初始值
* @return int
*/
function CnToInt($var, $start = 0) {
if (is_numeric($var)) {
return $var;
}
if (intval($var) === 0) {
$splits = array('亿' => 100000000, '万' => 10000);
$chars = array('万' => 10000, '千' => 1000, '百' => 100, '十' => 10, '一' => 1, '零' => 0);
$Ints = array('零' => 0, '一' => 1, '二' => 2, '三' => 3, '四' => 4, '五' => 5, '六' => 6, '七' => 7, '八' => 8, '九' => 9, '十' => 10);
$var = str_replace('零', "", $var);
foreach ($splits as $key => $step) {
if (strpos($var, $key)) {
$strs = explode($key, $var);
$start += CnToInt(array_shift($strs)) * $step;
$var = join('', $strs);
}
}
foreach ($chars as $key => $step) {
if (strpos($var, $key) !== FALSE) {
$vs = explode($key, $var);
if ($vs[0] === "") {
$vs[0] = '一';
}
$start += $Ints[array_shift($vs)] * $step;
$var = join('', $vs);
} elseif (mb_strlen($var, 'utf-8') === 1) {
$start += $Ints[$var];
$var = '';
break;
}
}
return $start;
} else {
return intval($var);
}
}
3、生成唯一的值:uniqid
4、中文截取:
function self_substr($str, $len = 12, $dot = true)
{
$i = 0;
$l = 0;
$c = 0;
$a = array();
while ($l < $len)
{
$t = substr($str, $i, 1);
if (ord($t) >= 224)
{
$c = 3;
$t = substr($str, $i, $c);
$l += 2;
}
elseif (ord($t) >= 192)
{
$c = 2;
$t = substr($str, $i, $c);
$l += 2;
}
else
{
$c = 1;
$l++;
}
// $t = substr($str, $i, $c);
$i += $c;
if ($l > $len) break;
$a[] = $t;
}
$re = implode('', $a);
if (substr($str, $i, 1) !== false)
{
array_pop($a);
($c == 1) and array_pop($a);
$re = implode('', $a);
$dot and $re .= '...';
}
return $re;
}
5、二维数组的排序
function array_sort($arr,$keys,$type='asc')
{
$keysvalue = $new_array = array();
foreach ($arr as $k=>$v) {
$keysvalue[$k] = $v[$keys];
}
if($type == 'asc') {
asort($keysvalue);
} else {
arsort($keysvalue);
}
reset($keysvalue);
foreach($keysvalue as $k=>$v) {
$new_array[$k] = $arr[$k];
} $arr = array();
foreach($new_array as $key => $val) {
$arr[] = $val;
}
return $arr;
}
php常用函数集锦[备份用的]的更多相关文章
- Matlab常用函数集锦
ndims(A)返回A的维数size(A)返回A各个维的最大元素个数length(A)返回max(size(A))[m,n]=size(A)如果A是二维数组,返回行数和列数nnz(A)返回A中非0元素 ...
- loadrunner常用函数集锦
一.三个复制函数的区别: strcpy 原型:extern char *strcpy(char *dest,char *src);用法:#i nclude功能:把src所指由NULL结束的字符串复制到 ...
- SQL常用函数集锦
..STUFF()用另一子串替换字符串指定位置.长度的子串.STUFF (<character_expression1>, <start_ position>, <len ...
- ABAP常用函数集锦
函数名 描述 SD_VBAP_READ_WITH_VBELN 根据销售订单读取表vbap中的信息EDIT_LINES 把READ_TEXT返回的LINES中的行按照TDFORMAT=“*”重新组织VI ...
- Oracle常用函数集锦
1.wmsys.wm_concat函数 将列转为行.例子: --表里的数据如下 SQL> select * from idtable; ID NAME ---------- ---------- ...
- C语言图形界面常用函数集锦
(以下函数均应在图形方式初始之后使用(initgraph(a,b)),在win-tc中使用BGI图形程序模板时,其中已经定义有一个initgr函数,在main函数中应在执行initgr函数之后再使用这 ...
- jquery 常用函数集锦
html() 方法的功能是设置或获取元素中显示的内容css() 方法的功能是设置或获取元素的某项样式属性 $("#61dh a").css('color','#123456'); ...
- SQL1-(增删改查、常用函数)
USE flowershopdb --全球唯一标识符(GUID UUID) SELECT NEWID() --增删改查 --INSERT [INTO] <表名> [列名] VALUES & ...
- JS数组常用函数以及查找数组中是否有重复元素的三种常用方法
阅读目录: DS01:常用的查找数组中是否有重复元素的三种方法 DS02:常用的JS函数集锦 DS01.常用的查找数组中是否有重复元素的三种方法 1. var ary = new Array(&qu ...
随机推荐
- Dubbo Multicast 注册中心即相关代码实现
Dubbo 的 Multicast注册中心有下面特点: 不需要启动任何中心节点,只要广播地址一样,就可以互相发现 组播受网络结构限制,只适合小规模应用或开发阶段使用. 组播地址段: 224.0.0.0 ...
- (easy)LeetCode 203.Remove Linked List Elements
Remove all elements from a linked list of integers that have value val. ExampleGiven: 1 --> 2 --& ...
- iphone显示信号强弱(field test)
第一步,进入[电话]第二步,在拨号键盘上输入*3001#12345#*,然后按下[呼叫]按钮,iOS内置应用Field Test就被启动了,同时左上角也出现了信号强度的精确值. 第三步,按住iPhon ...
- java内省机制Introspector
访问JavaBean属性的两种方式 1)直接调用bean的setXXX或getXXX方法: 2)通过内省技术访问(java.beans包提供了内省的API),内省技术访问也提供了两种方式: a)通过P ...
- windows常用运行命令收集(持续更新)
快捷键打开运行窗口:Windows + R > calc(计算器) > gpedit.msc(本地组策略编辑器) > regedit(注册表) > mstsc(远程桌面) &g ...
- Jmeter如何设置断言
1.打开飞机订票网站,登录后,确定要查找的关键字为reservation :2.在录制的登录脚本里,添加察看结果树监听器:3.运行一遍脚本:4.在察看结果树里查找reservation文本,并定位页面 ...
- 【最后一篇API译文】Android开发-API指南- Contacts Provider
Contacts Provider 今年加入了某字幕组,加之杂事颇多,许久未添新文了,惭愧之极. 在听闻 Google 即将重返中国后,近日忽又发现官方网站正在放出 API 中文版,比如本文.当然不是 ...
- 学习总结 java 父子级
package com.hanqi; //父类 public class Father { // public Father() // { // // } // public Father(Strin ...
- SQL 实现,如果存在就更新,如果不存在就添加
alter proc proc_DataSummary as begin begin try begin tran --PV --统计的信息存入临时表 ), CreateDate, ) ), Crea ...
- 洛谷P1459 三值的排序 Sorting a Three-Valued Sequence
P1459 三值的排序 Sorting a Three-Valued Sequence 166通过 369提交 题目提供者该用户不存在 标签USACO 难度普及- 提交 讨论 题解 最新讨论 那么 ...