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 ...
随机推荐
- FreeMarker页面中获得contextPath
要在ftl页面中使用contextPath,需要在viewResolver中做如下配置(红色部分): <bean id="viewResolver" class=" ...
- [CF 475D] CGCDSSQ (RMQ)
题目链接:http://codeforces.com/contest/475/problem/D 是昨天晚上的CF题目,题意是给定你n个数,问你所有子区间内的最小公约数是x的个数是多少 问的康神,了解 ...
- Hadoop有关的网站
软件下载: http://archive.apache.org hbase对Hadoop的支持矩阵: https://hbase.apache.org/book.html#configuration
- Chapter Configuration
Chapter Configuration 在Web.config 或App.config的configuration节,插入如下配置: <configuration> …… <co ...
- winmail安装完成后,SMTP/POP3/ADMIN/HTTP/IMAP/LDAP服务不能启动?
问题原因: 1.特殊端口被占用,可以用命令netstat -ano 查看 2.阿帕奇网络服务 httpd 未开启 解决方案:开启服务后,登录管理工具,点注册,它会自动跳出"httpd通过防火 ...
- Cocos2d-x3.2 使用物理引擎进行碰撞检测[转]
通常在游戏简单逻辑判断和模拟真实的物理世界时,我们只需要在定时器中判断游戏中各个精灵的条件是否满足判断条件就可以了.例如,在飞机大战中,判断我方子弹和敌机是否发生碰撞一般在定时器中通过敌机所在位置的矩 ...
- 【SET】ORACLE SET 命令
set colsep' '; //-域输出分隔符 set echo off; //显示start启动的脚本中的每个sql命令,缺省为on set echo on ...
- js控制台调试
在web编程的过程中js代码出现错误,可以通过console.log()将相关信息输入到控制台进行调试. 清空控制台右击选 Clear console 菜单,或者输入 clear() 都行 控制台相关 ...
- 图的强连通分量-Kosaraju算法
输入一个有向图,计算每个节点所在强连通分量的编号,输出强连通分量的个数 #include<iostream> #include<cstring> #include<vec ...
- 学习总结 java连接数据库
package com.hanqi.test; import java.sql.*; public class jdbcTest { public static void main(String[] ...