标记1236

<?php

/*
$level=3;
$arr[‘children‘]=array();
$newarr=array();
global $newarr;
for ($i=1;$i<=$level;$i++)
{

    array_push($newarr[‘children‘],$i) ;
    array_push($newarr,$newarr[‘children‘]) ;
}
var_dump($newarr);

*/

$order_item = Array ( Array ( ‘order_id‘ => 1111 ,‘item_id‘ => 1, ‘pro_id‘ => 1, ‘pro_name‘ => 1111 ,‘buy_num‘ => 5),
Array ( ‘order_id‘ => 1111 ,‘item_id‘ => 2 ,‘pro_id‘ => 2 ,‘pro_name‘ => 2222, ‘buy_num‘ => 5 ),
Array ( ‘order_id‘ => 2222 ,‘item_id‘ => 3 ,‘pro_id‘ => 1 ,‘pro_name‘ => 2222, ‘buy_num‘ => 1 ),
Array ( ‘order_id‘ => 2222 ,‘item_id‘ => 4 ,‘pro_id‘ => 2 ,‘pro_name‘ => 2222, ‘buy_num‘ => 1 )
);

$dataArr = array(
        array(
        ‘dept_id‘=>1,
        ‘dept_name‘=>‘一级菜单 ‘,
        ‘_parentId‘=>‘‘
        ),
        array(
                ‘dept_id‘=>2,
                ‘dept_name‘=>‘1二级菜单1 ‘,
                ‘_parentId‘=>‘1‘
        ),
        array(
                ‘dept_id‘=>3,
                ‘dept_name‘=>‘1二级菜单2 ‘,
                ‘_parentId‘=>‘1‘
        ),
        array(
                ‘dept_id‘=>4,
                ‘dept_name‘=>‘一级菜单001 ‘,
                ‘_parentId‘=>‘‘
        ),
        array(
                ‘dept_id‘=>5,
                ‘dept_name‘=>‘4二级菜单0012 ‘,
                ‘_parentId‘=>‘4‘
        ),
        array(
                ‘dept_id‘=>6,
                ‘dept_name‘=>‘4二级菜单0012 ‘,
                ‘_parentId‘=>‘5‘
        ),
        array(
                ‘dept_id‘=>7,
                ‘dept_name‘=>‘4二级菜单0012 ‘,
                ‘_parentId‘=>‘6‘
        ),
    );

//顶级节点
function getParentArr(&$dataArr){

    $parentArr = array();//顶级节点

    foreach($dataArr as $key=>$arr)
    {
        if($arr[‘_parentId‘] ==‘‘ ){
            array_push($parentArr,$arr);
            unset($dataArr[$key]);
        }
    }
    $dataArr = array_values($dataArr);//剩余子节点 重建索引
    return $parentArr;
}

$parentArr = getParentArr($dataArr);
//var_dump($dataArr);
echo ‘顶级目录BE<br>‘;
var_dump($parentArr);
echo ‘顶级目录END<br>‘;

//二级目录
static $level=0;
$secondArr=array();
function getSecondArr(&$parentArr,&$dataArr)
{
    global $secondArr;

    foreach ($parentArr as $pkey=>$pval)
    {
        $pval[‘children‘]=array();

        foreach ($dataArr as $key=>$val){
          if($val[‘_parentId‘] == $pval[‘dept_id‘] ){
               array_push($pval[‘children‘],$dataArr[$key]);

             unset($dataArr[$key]);
          }

       }

       array_push($secondArr,$pval);
    }

    //三级开始

    if (count($dataArr)>0)
    {
        getSecondArr($parentArr[‘children‘],$dataArr);
    }

    var_dump($dataArr);
    return     $secondArr;

}

//二级
$secondArr = getSecondArr($parentArr,$dataArr);

var_dump($secondArr);

foreach ($secondArr as $skey=>$sval){

}

exit;

global $dataArr;
$resultArr=array();
foreach($parentArr as $pkey=>$pVal)
{

    $pVal[‘children‘]=array();
    foreach($dataArr as $key => $arr){

        if ($pVal[‘dept_id‘] == $arr[‘_parentId‘] ) {

            array_push($pVal[‘children‘],$dataArr[$key]);

            unset($dataArr[$key]);
          }
    }

   /*foreach($pVal[‘children‘] as $Ckey=>$Cval)
   {
        $Cval[‘children‘]=array();
        foreach ($dataArr as $lkey => $larr){

            if($Cval[‘dept_id‘] == $larr[‘_parentId‘]){
                array_push($Cval[‘children‘],$dataArr[$lkey]);
                unset($dataArr[$lkey]);
                array_push($pVal[‘children‘],$Cval);
            }
         }
     //var_dump($val);
   }*/
  // var_dump($pVal);

   $pVal =  arrayChildren($pVal,$dataArr);
  //$pVal =  recursionArr($pVal,$dataArr);
   var_dump($pVal);

}

//$pVal =  arrayChildren($pVal,$dataArr);
   echo ‘剩余的arr‘;
    var_dump($dataArr);
   echo ‘剩余的arr_end‘;

   //递归调用
   function recursionArr(&$arr,&$larrs)
   {
        arrayChildren($arr,$larrs);

        if (count(&$larrs)>0)
        {
            recursionArr($arr,$larrs);
        }
   }

function arrayChildren(&$arr,&$larrs)
{
    echo ‘arrayChildren‘;
    if (is_array($arr[‘children‘])){

      foreach($arr[‘children‘] as $key=>$val)
        {
            $val[‘children‘]=array();
            foreach ($larrs as $lkey => $larr){

                /*echo ‘<br>lkey_beg‘;
                var_dump($larr);
                echo ‘<br>lkey_end‘;
                */
                if($val[‘dept_id‘] == $larr[‘_parentId‘]){
                    //global $larrs;
                    array_push($val[‘children‘],$larrs[$lkey]);
                    unset($larrs[$lkey]);
                    array_push($arr,$val);

                }
            }
        }

     }
     //var_dump(‘count‘.count(&$larrs));

        echo ‘<br>a<br>‘;
        var_dump($larrs);
        echo ‘b<br>‘;

     return $arr;

}

//分组问题

exit;

$rows = array(
        array("id"=>1, "type"=>1, "value"=>"a"),
        array("id"=>2, "type"=>1, "value"=>"b"),
        array("id"=>3, "type"=>1, "value"=>"c"),
        array("id"=>7, "type"=>3, "value"=>"c"),
        array("id"=>8, "type"=>7, "value"=>"c"),

        array("id"=>4, "type"=>2, "value"=>"d"),
        array("id"=>5, "type"=>2, "value"=>"e"),
        array("id"=>6, "type"=>2, "value"=>"f"),
);
$keys = array("id","type");

function groupByKeys($rows,$keys,$ext=‘_‘) {
    $res = array();
    foreach($rows as $row) {
        $tmp = $row;
        foreach($keys as $k) {
            //为了利用array_merge_recursive方法的特性,使用非数字的键
            $tmp = array($k.$ext.$row[$k] => $tmp);
        }
        $res = array_merge_recursive($res,$tmp);
    }
    $replace_keys = array();
    foreach($keys as $k) {
        $replace_keys[] = $k.$ext;
    }
    $str = str_replace($replace_keys,‘‘,json_encode($res));
    return json_decode($str,true);
}

var_dump(groupByKeys($rows,$keys));

//var_dump($resultArr);
exit;

function generateTree($items){
    $tree = array();
    foreach($items as $item){
        if(isset($items[$item[‘pid‘]])){
            $items[$item[‘pid‘]][‘children‘][] = &$items[$item[‘id‘]];
        }else{
            $tree[] = &$items[$item[‘id‘]];
        }
    }
    return $tree;
}
$items = array(
        1 => array(‘id‘ => 1, ‘pid‘ => 0, ‘name‘ => ‘安徽省‘),
        2 => array(‘id‘ => 2, ‘pid‘ => 0, ‘name‘ => ‘浙江省‘),
        3 => array(‘id‘ => 3, ‘pid‘ => 1, ‘name‘ => ‘合肥市‘),
        4 => array(‘id‘ => 4, ‘pid‘ => 3, ‘name‘ => ‘长丰县‘),
        5 => array(‘id‘ => 5, ‘pid‘ => 1, ‘name‘ => ‘安庆市‘),
);
var_dump(generateTree($items));
时间: 2024-11-13 10:45:27

标记1236的相关文章

MySQL主从失败 错误Got fatal error 1236解决方法

由于mysql主服务器异外重启, 导致slave maysql server报错, 错误如下:查看从伺服器错误:mysql> show slave status\G;Master_Log_File: mysql-bin.000288Read_Master_Log_Pos: 627806304Relay_Log_File: mysql-relay-bin.000990Relay_Log_Pos: 627806457Relay_Master_Log_File: mysql-bin.000288Sla

【API】高德地图API JS实现获取坐标和回显点标记

1.搜索+选择+获取经纬度和详细地址 2.回显数据并点标记 3.实现 第一步:引入资源文件 <!--引入高德地图JSAPI --><script src="//webapi.amap.com/maps?v=1.3&key=在官网申请一个key"></script><!--引入UI组件库(1.0版本) --><script src="//webapi.amap.com/ui/1.0/main.js">

HTML5标记

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权:凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记. 文本标记 <br/> 换行 用于标记文本的标题,方便别人以后取这个内容 <h1> <h2> <h3> <h4> <h5> <h6> <p> 段落 <Strong> 强调内容,比普通黑一些 字体效果 <s> 删除线 <sup> 上浮 <

Notaped++标记选择符合条件的行书签

一个文本中有很多行文本,但是只是需要部分,我们就可以用查找(Ctrl+F)--标记来先来筛选. 文中是写了正则匹配纯数字开头的行. 来源:https://www.t00ls.net/viewthread.php?tid=39884&page=1&extra=#pid658558 4楼回答

标记语言

标记语言(也称置标语言.标记语言.标志语言.标识语言)是一种将文本(Text)以及文本相关的其他信息结合起来,展现出关于文档结构和数据处理细节的计算机文字编码.与文本相关的其他信息(包括例如文本的结构和表示信息等)与原来的文本结合在一起,但是使用标记(markup)进行标识.当今广泛使用的标记语言是超文本标记语言(HyperText Markup Language,HTML)和可扩展标记语言(eXtensible Markup Language,XML).标记语言广泛应用于网页和网络应用程序.标

ASP.NET MVC验证框架中关于属性标记的通用扩展方法

http://www.cnblogs.com/wlb/archive/2009/12/01/1614209.html 之前写过一篇文章<ASP.NET MVC中的验证>,唯一的遗憾就是在使用Data Annotation Validators方式验证的时候,如果数据库是Entityframework等自动生成的文件,就没有办法使用扩展属性标记进行标记.现在已经开始有了一些其它的Asp.net MVC 验证框架,使用上跟Data Annotation Validators差不太多,但是普遍有这样

C# DataGridView 对指定行文字加粗实现阅读标记

在使用DataGridView控件放置通知等信息时,会遇到标记"已读"."未读"的问题.通过SQL语句查询出的结果中,"已读"."未读"会被放在一个专门的字段(DataGridView的列)中用来标记这个 条目的阅读情况.本文的目标就是要做到在显示上区分当前用户已读和未读的条目. 1.准备工作 建立一个C#窗体应用程序,里面放置一个Dock属性设置为Full的DataGridView 2.程序代码 在Load函数中,模拟生成了

light oj 1236 【大数分解】

给定一个大数,分解质因数,每个质因子的个数为e1,e2,e3,--em, 则结果为((1+2*e1)*(1+2*e2)--(1+2*em)+1)/2. //light oj 1236 大数分解素因子 #include <stdio.h> #include <iostream> #include <string.h> #include <algorithm> #include <math.h> #include <ctype.h> #i

hdu 1698 Just a Hook(线段树,成段更新,懒惰标记)

Just a Hook Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 18384    Accepted Submission(s): 9217 Problem Description In the game of DotA, Pudge's meat hook is actually the most horrible thing