/**
* 创建父节点树形数组
* 参数
* $ar 数组,邻接列表方式组织的数据
* $id 数组中作为主键的下标或关联键名
* $pid 数组中作为父键的下标或关联键名
* 返回 多维数组
**/
function find_parent($ar, $id='id', $pid='pid') {
foreach($ar as $v) $t[$v[$id]] = $v;
foreach ($t as $k => $item){
if( $item[$pid] ){
if( ! isset($t[$item[$pid]]['parent'][$item[$pid]]) )
$t[$item[$id]]['parent'][$item[$pid]] =& $t[$item[$pid]];
php学习笔记之面向对象编程
class db {
private $mysqli; //数据库连接
private $options; //SQL选项
private $tableName; //表名
public function __construct($tabName) {
$this->tableName = $tabName;
$this->db ();
}
private function db() {
$this->mysqli = new mysqli ( 'localhost', 'root', '', 'hdcms' );
$this->mysqli->query("SET NAMES GBK");
}
public function fields($fildsArr) {
if (empty ( $fildsArr )) {
$this->options ['fields'] = ''
}
if (is_array ( $fildsArr )) {
$this->options ['fields'] = implode ( ',', $fildsArr );
} else {
$this->options ['fields'] = $fildsArr;
}
return $this;
}
public function order($str) {
$this->options ['order'] = "ORDER BY " . $str;
return $this;
}
public function select() {
$sql = "SELECT {$this->options['fields']} FROM {$this->tableName} {$this->options['order']}";
return $this->query ( $sql );
}
private function query($sql) {
$result = $this->mysqli
->query ( $sql );
$rows = array ();
while ( $row = $result->fetch_assoc () ) {
$rows [] = $row;
}
return $rows;
}
private function close() {
$this->mysqli
->close ();
}
function __destruct() {
$this->close ();
}
}
$chanel = new db ( "hdw_channel" );
$chanelInfo = $chanel->fields ( 'id,cname,cpath' )
->select ();
echo "<pre>";
print_r ( $chanelInfo );
php中网址、email、手机号码正则表达代码
1. 判断Email:
域名由各国文字的特定字符集、英文字母、数字及“-”(即连字符或减号)任意组合而成, 但开头及结尾均不能含有“-”,“-”不能连续出现 。 域名中字母不分大小写。域名最长可达60个字节(包括后缀.com、.net、.org等)。
/^[a-z]([a-z0-9]*[-_]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[.][a-z]{2,3}([.][a-z]{2})?$/i;
/内容/i 构成一个不区分大小写的正则表达式;
php读取mssql时间显示格式解决办法
while( $row = sqlsrv_fetch_array( $result, SQLSRV_FETCH_ASSOC))
{
print_r($row['datetime']);//这个字段是mssql的时间格式
}
PHP通过FTP上传文件详解介绍
ftp_get() 函数从 FTP 服务器上下载一个文件。
若成功则返回 true,失败则返回 false。
php函数date与gmdate的区别
举个例子,我们现在所在的时区是+8,那么服务器运行以下脚本返回的时间应该是这样的:
当前时间假定是2007-03-14 12:15:27
php中搜索多维数组的键值程序
如下面例子:
$foo[1]['a']['xx'] = 'bar 1'
$foo[1]['b']['xx'] = 'bar 2'
$foo[2]['a']['bb'] = 'bar 3'
$foo[2]['a']['yy'] = 'bar 4'
$foo[3]['c']['dd'] = 'bar 3'
$foo[3]['f']['gg'] = 'bar 3'
$foo['info'][1] = 'bar 5'
php数组排序之多维数组与一维数组
一维数组
第一组 :sort 和 rsort ,按照PHP数组键值的顺序asc和逆序desc进行排序,同时破坏原来数组的索引关系——其实是删除索引之后重新建立从0开始的数字索引。看一下例程:
php长文章分页原理与实现程序
办法一、按字数控制进行分页
按字数分页办法简单易用,但效果不好。
PHP curl_setopt函数用法介绍
bool curl_setopt (int ch, string option, mixed value)
curl_setopt()函数将为一个CURL会话设置选项。option参数是你想要的设置,value是这个选项给定的值
二个php分页程序代码
有了这两个参数就可以很方便的写出分页程序,我们以MySql数据库作为数据源,在mysql里如果要想取出表内某段特定内容可以使用的 T-SQL语句:select * from table limit offset,rows来实现。这里的offset是记录偏移量,它的计算方法是offset=$pagesize*($page-1),rows是要显示的记录条数,这里就是$page。也就是说select * from table limit 10,10这条语句的意思是取出表里从第11条记录开始的20条记录。
php CI框架学习笔记-分页实现程序
举个按关键词搜索结果分页的例子,
1.视图HTML
<div id="body">
<form action="/index.php/search/index/" method="get">
<p>请输入书名、作者、出版社中的一个或多个来查询。</p>
<p><input type="text" name="s" value="" size="64" /> <input type="submit" value="搜索" /></p>
</form>
</div>