PHP函数积累
PHP函数积累
- simplexml_load_string 将Xml转化为对象;返回对象
1 <?php 2 $string = <<<XML 3 <?xml version='1.0'?> 4 <document> 5 <title>Forty What?</title> 6 <from>Joe</from> 7 <to>Jane</to> 8 <body> 9 I know that's the answer -- but what's the question? 10 </body> 11 </document> 12 XML; 13 $xml = simplexml_load_string($string); 14 15 var_dump($xml); 16 ?>
结果:object(SimpleXMLElement)[1] public 'title' =>
string'Forty What?' (length=11) public 'from' =>
string'Joe' (length=3) public 'to' =>
string'Jane' (length=4) public 'body' =>
string' I know that's the answer -- but what's the question? ' (length=56)
- sha1() 哈希加密,用作签名,将字符串加密
- implode($arr) 将数组转化为字符串;
- sprintf($string,$num,$location); 按照$string模板,替换成$num\$location后输出模板;
1 可能的格式值: 2 %% - 返回一个百分号 % 3 %b - 二进制数 4 %c - ASCII 值对应的字符 5 %d - 包含正负号的十进制数(负数、0、正数) 6 %e - 使用小写的科学计数法(例如 1.2e+2) 7 %E - 使用大写的科学计数法(例如 1.2E+2) 8 %u - 不包含正负号的十进制数(大于等于 0) 9 %f - 浮点数(本地设置) 10 %F - 浮点数(非本地设置) 11 %g - 较短的 %e 和 %f 12 %G - 较短的 %E 和 %f 13 %o - 八进制数 14 %s - 字符串 15 %x - 十六进制数(小写字母) 16 %X - 十六进制数(大写字母) 17 18 栗子:
$string="<xml>
<ToUserName>%s</ToUserName>
<FromUserName>%s</FromUserName>
<CreateTime>%s</CreateTime>
<MsgType>%s</MsgType>
<Content>%s</Content>
<MsgId>%s</MsgId>
</xml>";
$str1="第1个替换变量";
$str2="第2个替换变量";
$str3="第3个替换变量";
$str4="第4个替换变量";
$str5="第5个替换变量";
$str6="第6个替换变量";
$res=sprintf($string,$str1,$str2,$str3,$str4,$str5,$str6);
var_dump($res);
//返回值;
// string '<xml>
// <ToUserName>第1个替换变量</ToUserName>
// <FromUserName>第2个替换变量</FromUserName>
// <CreateTime>第3个替换变量</CreateTime>
// <MsgType>第4个替换变量</MsgType>
// <Content>第5个替换变量</Content>
// <MsgId>第6个替换变量</MsgId>
// </xml>' (length=362)5.unset销毁变量【可以用到循环判断销毁对应元素】
-
1 //奖品概率 2 $proArr = array( 3 '1' => $config["level1_prob"], 4 '2' => $config["level2_prob"], 5 '3' => $config["level3_prob"], 6 '4' => $config["level4_prob"], 7 '5' => $config["level5_prob"], 8 '6' => $config["level6_prob"], 9 '7' => $config["level7_prob"] 10 ); 11 12 //奖品库存 13 $proCount = array( 14 '1' => $config["level1_store"], 15 '2' => $config["level2_store"], 16 '3' => $config["level3_store"], 17 '4' => $config["level4_store"], 18 '5' => $config["level5_store"], 19 '6' => $config["level6_store"], 20 '7' => $config["level7_store"] 21 ); 22 26 foreach ($proCount as $key=>$value){ 27 if ($value<=0){ 28 unset($proArr[$key]); 29 } 30 }
6.将格式化的日期转化为时间戳
1 1. UNIX时间戳转换为日期用函数: date() 2 一般形式:date('Y-m-d H:i:s', 1156219870); 3 2. 日期转换为UNIX时间戳用函数:strtotime() 4 一般形式:strtotime('2010-03-24 08:15:42');
7.将一个一位数组从开始到结束,每4个一组,组合成新的二维数组;
1 $arr=array('aa','bb','cc','dd','11','22','33','44','55','66','77'); 2 $j=count($arr)/4; 3 for($i=0;$i<$j;$i++) 4 { 5 $data[] = array_slice($arr, $i *4 ,4); 6 } 7 8 从数组的第0*4个元素开始取出,并仅返回4个元素:然后放到新的数组里;
输出结果: array(3) { [0]=> array(4) { [0]=> string(2) "aa" [1]=> string(2) "bb" [2]=> string(2) "cc" [3]=> string(2) "dd" } [1]=> array(4) { [0]=> string(2) "11" [1]=> string(2) "22" [2]=> string(2) "33" [3]=> string(2) "44" } [2]=> array(3) { [0]=> string(2) "55" [1]=> string(2) "66" [2]=> string(2) "77" } }
8.对数组进行字典排序
将微信传过来的timestamp ,nonce,token按子典排序 $timestamp=$_GET['timestamp']; $nonce=$_GET['nonce'];\ $token=mytoken;微信后台设置的token; $array=array($timestamp,$nonce,$token); sort($array);对数组进行字典排序;
9.将数组转化拼接为字符串
1 $arr = array('Hello','World!','I','love','Shanghai!'); 2 echo implode(" ",$arr);