简洁才是王道.... function genTree($items,$id=id,$pid=pid,$son = children){ $tree = array(); //格式化的树 $tmpMap = array(); //临时扁平数据 foreach ($items as $item) { $tmpMap[$item[$id]] = $item; } foreach ($items as $item) { if (isset($tmpMap[$item[$pid]])) { $tmpMap[$item[$pid]][$son][] = &$tmpMap[$item[$id]]; } else { $tree[] = &$tmpMap[$item[$id]]; } } unset($tmpMap); return $tre...
我们知道很多开源软件的无限分类都是采用递归的算法,但是我们知道递归即浪费时间,又浪费空间(内存), 上次我也分享了个我自己原创的无限分类生成树的方法,一热心php高手网友给我提出了宝贵的建议,我测试了一下,这段代码的时间非常之短,参考: http://www.oschina.net/code/snippet_98719_11296,我再次整理了一下,发现数据库查询出数据之后,我们就已经定好了键值,因而实践中,我们一般会在model中查询出格式化成主键值...
function Read_Excel_File2($file_name,&$result){ require_once include/PHPExcel/Classes/PHPExcel/IOFactory.php; $result=null; $objReader = PHPExcel_IOFactory::createReader(Excel5); // $objReader->setReadDataOnly(true); try{ $objPHPExcel = $objReader->load($file_name); }catch(Exception $e){} if(!isset($objPHPExcel)) return "无...
//格式化数据(防止注入)function site_addslashes($string, $force = 0) {!defined('MAGIC_QUOTES_GPC') && define('MAGIC_QUOTES_GPC', get_magic_quotes_gpc());if(!MAGIC_QUOTES_GPC || $force) {if(is_array($string)) {foreach($string as $key => $val) {$string[$key] = daddslashes($val, $force);}} else {$string = addslashes($string);}}return $string;}?>除了以上的方法,建议大家参考下discuz的防注入函数。
php数字格式化的例子(number_format函数应用),有需要的朋友,可以参考下。例如,echo number_format(285266237);输出 285,266,237 如果需要用number_format()函数格式化文件字节大小,可以参考如下的方法。1024) { $value /= 1024; $i++; } $return_str = round($value, $dec).$prefix_arr[$i]; return $return_str; }echo byte_format(285266237); ?> 输出: 272M
php 格式化数字,位数不足时前面加0补足,本文提供了两种实现方法,分别用sprintf与number_format来实现。有需要的朋友,快来看看吧。php格式化数字的例子。结果为0002 ?> 一、字符串sprintf()函数 语法 sprintf(format,arg1,arg2,arg++) 参数描述format必需。转换格式。arg1必需。规定插到 format 字符串中第一个 % 符号处的参数。arg2可选。规定插到 format 字符串中第二个 % 符号处的参数。arg++可选。规定插到 format 字符串...
本文介绍一个PHP实现格式化文件大小的代码,所谓格式化文件大小,即将字节表示的文件大小,用易于阅读的方式展示出来,比如120GB、30MB等。代码如下:
print number_format(100000.56 );?>例2,number_format($n, $p, $t, $d) rounds $n to $p decimal places, using $t as the thousands separator and $d as the decimal separator. echo "Total charge is ", number_format($total, 2, ".", ","), " Euros";?>例3,number_format函数用于English format and Italian format $a = 1232322210.44; echo number_format ($a, 2); // English format echo "\n"; echo...
本文分享一个php版的json数据格式化函数的例子,有需要的朋友,可以作个参考,借鉴下别人的写法。将字符串形式的 JSON 数据格式化为缩进形式。通常使用 json_encode 转换出来的 JSON 串没有缩进。 有了本文分享的这个方法,就不用再担心这个问题了。 本代码: 默认使用了 tab 缩进,如果要改成空格,替换变量 $indentStr 即可。 代码:
/*** date函数格式化输出指定范围的时间* by bbs.it-home.org*/$stand = "2013-01-"; for ($i = 1; $i $time = strtotime($stand . $i); $date[] = date("Ymd", $time); } print_r($date); ?>实现效果: 附, date函数获取前一天或后一天日期 例子:<?php//日期定义 $day = date("Ymd", strtotime("-1 day")); echo $day."\n"; $day = date("Ymd", strtotime("+1 day")); echo $day."\n"; 效果如下图:
number_format(288); 输出 288 number_format(365,2); 输出 365.00 number_format(365000000,3,".") (将数字 365000000 保留3位小数,小数点用"."表示) 输出: 365,000,000.000 number_format(365000000,2,".","*") (将数字 365000000 保留2位小数,小数点用"."表示,千位分隔符用"*"表示) 输出: 365*000*000.00附,php 截取小数点的位数的例子:// number_format方法$number_format $number = 1234.5678; $nombre_format_francai...
<?php//数据库我用的mysql PDO 但是整个思路又是一样的$conn=mysql_connect(localhost,root,123);if(mysql_errno()){ printf(连接失败.mysql_error());}mysql_select_db(edeng);mysql_set_charset(utf8);/* *递归函数 *@param id 要查询fid=$id的所有子类 这里将$id的默认值为设为0 是因为我在数据库中将最顶层的类别的fid设置为0 */function get_array($id=0){ $sql="select id,fid,cname from e_cat where fid= $id"; $result...
php 数字格式化函数 number_format 简介,number_format(要格式化的数字,保留的小数位数,小数点的字符串,千位分隔符)。 number_format函数number_format(要格式化的数字,保留的小数位数,小数点的字符串,千位分隔符) //共4个参数 number_format 函数的作用是格式化数字. 上面列出的4个参数中,第一个必选项,其他都是可选项.参数说明: 要格式化的数字 (不解释) 保留的小数位数 (可选项) 格式化数字后准备保留几位小数 小数点字符串 ...
作为一名phper,今天才发现,从加入osc到现在,分享的各种代码,就只有一篇php.顿觉脸红,特分享在项目中自己写的一个常用类.GET数据/POST数据/普通数组 通过key返回格式化后的数据http://www.du52.com/text.php?id=581include_once('Param.class.php');// 模拟设置GET/POST数据$_REQUEST['int'] = '1243';$_REQUEST['str'] = 'hello';$_REQUEST['bool'] = 'true';$_REQUEST['arr'] = '1,2,3,4';$_REQUEST['json'] = json_encode(array(...
function num_format($num){ if(!is_numeric($num)){ return false; } $rvalue=; $num = explode(.,$num);//把整数和小数分开 $rl = !isset($num[1]) ? : $num[1];//小数部分的值 $j = strlen($num[0]) % 3;//整数有多少位 $sl = substr($num[0], 0, $j);//前面不满三位的数取出来 $sr = substr($num[0], $j);//后面的满三位的数取出来 $i = 0; while($i <= strlen($sr)){ $rvalue = $rvalue.,.substr($sr, $i, 3);//三位三位取...