<?php
//03.php
/****
燕十八 公益PHP讲堂
论 坛: http://www.zixue.it
微 博: http://weibo.com/Yshiba
YY频道: 88354001
****/
/***
====笔记部分====
// 对于下面这个数组,每个单元有自己的id和地区名
// 每个单元之间的地位是平等的
// 因此谈不上谁是谁的上级/下级
$area = array(
array('id'=>1,'name'=>'安徽'),
array('id'=>2,'name'=>'海淀'),
array('id'=>3,'name'=>'濉溪县'),
array('id'=>4,'name'=>'昌平'),
array('id'=>5,'name'=>'淮北'),
array('id'=>6,'name'=>'朝阳'),
array('id'=>7,'name'=>'北京'),
array('id'=>8,'name'=>'上地');
// 我们为了表示地区之间的上下级关系,人为的加了一个字段
// parent
// parent的值 是 该栏目的父栏目的id
// 找A栏目的子栏目时: 谁的parnet值等于A的id值,谁就是A的儿子
$area = array(
array('id'=>1,'name'=>'安徽','parent'=>0),
array('id'=>2,'name'=>'海淀','parent'=>7),
array('id'=>3,'name'=>'濉溪县','parent'=>5),
array('id'=>4,'name'=>'昌平','parent'=>7),
array('id'=>5,'name'=>'淮北','parent'=>1),
array('id'=>6,'name'=>'朝阳','parent'=>7),
array('id'=>7,'name'=>'北京','parent'=>0),
array('id'=>8,'name'=>'上地','parent'=>2)
);
/***
安徽
淮北
濉溪县
北京
海淀
上地
昌平
朝阳
***/
/**
无限级分类,牵涉3个应用
0是 找指定栏目的子栏目
1是 找指定栏目的子孙栏目,即子孙树
2是 找指定的栏目的父栏目/父父栏目....顶级栏目, 即家谱树
**/
$area = array(
array('id'=>1,'name'=>'安徽','parent'=>0),
array('id'=>2,'name'=>'海淀','parent'=>7),
array('id'=>3,'name'=>'濉溪县','parent'=>5),
array('id'=>4,'name'=>'昌平','parent'=>7),
array('id'=>5,'name'=>'淮北','parent'=>1),
array('id'=>6,'name'=>'朝阳','parent'=>7),
array('id'=>7,'name'=>'北京','parent'=>0),
array('id'=>8,'name'=>'上地','parent'=>2)
);
// 找子栏目
function findson($arr,$id=0) {
// $id栏目的儿子有些呢?
// 答:数组循环一遍,谁的parent值 等于 $id,谁就是他儿子
$sons = array(); // 子栏目数组
foreach($arr as $v) {
if($v['parent'] == $id) {
$sons[] = $v;
}
}
return $sons;
}
// print_r(findson($area,0));
// 找子孙树
// 用静态变量
/*
function subtree($arr,$id=0,$lev=1) {
static $subs = array(); // 子孙数组
foreach($arr as $v) {
if($v['parent'] == $id) {
$v['lev'] = $lev;
$subs[] = $v; // 举例说找到array('id'=>1,'name'=>'安徽','parent'=>0),
subtree($arr,$v['id'],$lev+1);
}
}
return $subs;
}
// print_r(subtree($area,0,1));
*/
function subtree($arr,$id=0,$lev=1) {
$subs = array(); // 子孙数组
foreach($arr as $v) {
if($v['parent'] == $id) {
$v['lev'] = $lev;
$subs[] = $v; // 举例说找到array('id'=>1,'name'=>'安徽','parent'=>0),
$subs = array_merge($subs,subtree($arr,$v['id'],$lev+1));
}
}
return $subs;
}
$tree = subtree($area,0,1);
foreach($tree as $v) {
echo str_repeat(' ',$v['lev']),$v['name'],'<br />';
}
?>
<?php
//04.php
/****
燕十八 公益PHP讲堂
论 坛: http://www.zixue.it
微 博: http://weibo.com/Yshiba
YY频道: 88354001
****/
/***
====笔记部分====
再见 static
***/
function t() {
$age = 5;
$age += 1;
return $age;
}
echo t(),'<br />';
echo t(),'<br />';
echo t(),'<br />';
/*
每调用一次t函数
t函数就要初始化$age = 5;
并执行,
因此 6 6 6
函数就是个封装的执行体,前后执行,没有联系 这是正常的.
要想让$age 不每次初始化,可以使用static 静态变量
*/
function st() {
static $age = 5;
$age += 1;
return $age;
}
echo st(),'<br />';
echo st(),'<br />';
echo st(),'<br />';
/***
在函数中声明的static 静态变量,
无论此函数调用多少次,只初始化一次.
以后就会直接沿用该变量,
这在递归时,很有用.
static总结
1: 修饰类的属性与方法为静态属性,静态方法
2: static::method(), 延迟绑定
3: 在函数/方法中,声明静态变量用
***/
?>
<?php
//05.php
/****
燕十八 公益PHP讲堂
论 坛: http://www.zixue.it
微 博: http://weibo.com/Yshiba
YY频道: 88354001
****/
/***
====笔记部分====
数组的加,和merge
***/
$a = array('a','b');
$b = array(2=>'c',3=>'d');
print_r($a + $b);
搜索
标签
        
                                            
                     study
                
                            
                    ab
                
                            
                    amap
                
                            
                    apache
                
                            
                    apahe
                
                            
                    awk
                
                            
                    aws
                
                            
                    bat
                
                            
                    centos
                
                            
                    CFS
                
                            
                    chrome
                
                            
                    cmd
                
                            
                    cnpm
                
                            
                    composer
                
                            
                    consul
                
                            
                    crontab
                
                            
                    css
                
                            
                    curl
                
                            
                    cygwin
                
                            
                    devops
                
                            
                    di
                
                            
                    docker
                
                            
                    docker,docker-compose
                
                            
                    ethereum
                
                            
                    excel
                
                            
                    fiddler
                
                            
                    fluentd
                
                            
                    framework
                
                            
                    front-end
                
                            
                    git
                
                            
                    gitgui
                
                            
                    github
                
                            
                    glide
                
                            
                    go
                
                            
                    golang
                
                            
                    gorm
                
                            
                    grafana
                
                            
                    gzip
                
                            
                    ioc
                
                            
                    item2
                
                            
                    iterm2
                
                            
                    javascript
                
                            
                    jenkins
                
                            
                    jsonp
                
                            
                    kafka
                
                            
                    laradock
                
                            
                    laravel
                
                            
                    larval
                
                            
                    linux
                
                            
                    liunux
                
                            
                    log
                
                            
                    mac
                
                            
                    mac, wi-fi
                
                            
                    macos
                
                            
                    magento
                
                            
                    mariaDB
                
                            
                    minikube
                
                            
                    mongoDB
                
                            
                    msp
                
                            
                    mysql
                
                            
                    netbeans
                
                            
                    nginx
                
                            
                    nodejs
                
                            
                    nohup
                
                            
                    npm
                
                            
                    nsq
                
                            
                    php
                
                            
                    php-fpm
                
                            
                    php7
                
                            
                    phpstorm
                
                            
                    php扩展
                
                            
                    Protobuf
                
                            
                    python
                
                            
                    redis
                
                            
                    scp
                
                            
                    server
                
                            
                    shell
                
                            
                    soap
                
                            
                    socket
                
                            
                    socket5
                
                            
                    sql
                
                            
                    sre
                
                            
                    ssdb
                
                            
                    ssh
                
                            
                    ssl
                
                            
                    study
                
                            
                    sublime
                
                            
                    swift
                
                            
                    system
                
                            
                    td-agent
                
                            
                    uml
                
                            
                    v2ray
                
                            
                    vagrant
                
                            
                    vagrnat
                
                            
                    vim
                
                            
                    vpn
                
                            
                    vue
                
                            
                    vue.js
                
                            
                    webpack
                
                            
                    webrtc
                
                            
                    websocket
                
                            
                    webtatic
                
                            
                    windows
                
                            
                    windows7
                
                            
                    word
                
                            
                    wps
                
                            
                    xdebug
                
                            
                    yarn
                
                            
                    yii2
                
                            
                    yum
                
                            
                    zookeeper
                
                            
                    世界国家
                
                            
                    互联网
                
                            
                    以太坊
                
                            
                    分类
                
                            
                    前端
                
                            
                    小程序
                
                            
                    打印机
                
                            
                    排序算法
                
                            
                    搞笑
                
                            
                    权限
                
                            
                    粤语
                
                            
                    缓存
                
                            
                    网络
                
                            
                    虚拟机
                
                            
                    视频
                
                            
                    设计模式
                
                            
                    项目管理
                
                        
热门文章
    
        
    
友情链接
    
    
    
 
         
        