Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何获取数组中的每个用户列表 公共函数getChildren($parent,$level=0,$getlevel=array()){ $criteria=新的CDB标准; $criteria->condition='referenced'u by'u user'u id=:id'; $criteria->params=array(':id'=>$parent); $count=数组(0=>0); $model=$this->findAll($criteria); //$levelcount=array(); $user=user::model()->findbypk(Yii::app()->user->id); 如果($user->level!=$level) { foreach($key作为$model){ $count[0]++; $index=1; //echo str_repeat('-',$level)。$key->name.“”; $children=$this->getChildren($key->id,$level+1); //pr(儿童);死亡; foreach($childrenas$child) { //pr(儿童); 如果($child==0) 继续; 如果(isset($count[$index])) $count[$index]+=$child; 其他的 $count[$index]=$child; $index++; } } } 返回$count; }_Php_Arrays_List_Yii - Fatal编程技术网

Php 如何获取数组中的每个用户列表 公共函数getChildren($parent,$level=0,$getlevel=array()){ $criteria=新的CDB标准; $criteria->condition='referenced'u by'u user'u id=:id'; $criteria->params=array(':id'=>$parent); $count=数组(0=>0); $model=$this->findAll($criteria); //$levelcount=array(); $user=user::model()->findbypk(Yii::app()->user->id); 如果($user->level!=$level) { foreach($key作为$model){ $count[0]++; $index=1; //echo str_repeat('-',$level)。$key->name.“”; $children=$this->getChildren($key->id,$level+1); //pr(儿童);死亡; foreach($childrenas$child) { //pr(儿童); 如果($child==0) 继续; 如果(isset($count[$index])) $count[$index]+=$child; 其他的 $count[$index]=$child; $index++; } } } 返回$count; }

Php 如何获取数组中的每个用户列表 公共函数getChildren($parent,$level=0,$getlevel=array()){ $criteria=新的CDB标准; $criteria->condition='referenced'u by'u user'u id=:id'; $criteria->params=array(':id'=>$parent); $count=数组(0=>0); $model=$this->findAll($criteria); //$levelcount=array(); $user=user::model()->findbypk(Yii::app()->user->id); 如果($user->level!=$level) { foreach($key作为$model){ $count[0]++; $index=1; //echo str_repeat('-',$level)。$key->name.“”; $children=$this->getChildren($key->id,$level+1); //pr(儿童);死亡; foreach($childrenas$child) { //pr(儿童); 如果($child==0) 继续; 如果(isset($count[$index])) $count[$index]+=$child; 其他的 $count[$index]=$child; $index++; } } } 返回$count; },php,arrays,list,yii,Php,Arrays,List,Yii,我只能输出用户数。如何获取数组中每个级别的用户id?我认为问题在于您必须在for之外设置$index变量我刚才做了类似的事情: public function getChildren($parent, $level=0,$getlevel=array()) { $criteria = new CDbCriteria; $criteria->condition='referred_by_user_id=:id'; $criteria->params=arra

我只能输出用户数。如何获取数组中每个级别的用户id?

我认为问题在于您必须在for之外设置$index变量

我刚才做了类似的事情:

public function getChildren($parent, $level=0,$getlevel=array()) { 

    $criteria = new CDbCriteria;
    $criteria->condition='referred_by_user_id=:id';
    $criteria->params=array(':id'=>$parent);
    $count = array(0=>0);
    $model = $this->findAll($criteria);

    // $levelcount = array();
    $user=User::model()->findbypk(Yii::app()->user->id);
    if($user->level!=$level)
    {
         foreach ($model as $key) {
            $count[0]++;            
            $index=1;
            // echo str_repeat(' — ', $level) . $key->name . "<br />";
            $children= $this->getChildren($key->id, $level+1);
            // pr($children);die;
            foreach ($children as $child)
            {
                // pr($child);
                if ($child==0)
                  continue;
                if (isset($count[$index]))
                  $count[$index] += $child;
                else    
                  $count[$index] = $child;
                $index++;
            }
        }
    }
   return $count; 
}
我希望我能给你任何帮助

public static function getChildren($idParent) {
    $elem      = [];
    $childrens = Arbol::model()->findAll("estado = 1 and id_parent = " . $idParent . ' ORDER BY level');
    foreach ($childrens as $key => $child) {
        $persona = Persona::model()->findbyPk($child->id_child);
        if ((int) $persona->id_superior === $idParent) {
            $nombre     = explode(" ", $persona->nombres);
            $elem[$key] = [
                "id"    => $persona->id_persona,
                "image" => Yii::app()->baseUrl . '/images/user-icon' . ($persona->pago_inscripcion ? '-activo.png' : '.png'),
                "text"  => [
                    'title' => $nombre[0] . ' ' . substr($persona->apellido_paterno, 0, 1) . '.'
                ]
            ];
        } else {
            $keySUperior = array_search($persona->id_superior, array_column($elem, "id"));
            if (is_int($keySUperior)) {
                $elem[$keySUperior]["children"] = self::getChildren((int) $persona->id_superior);
            }
        }
    }

    return $elem;
}