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; }
我只能输出用户数。如何获取数组中每个级别的用户id?我认为问题在于您必须在for之外设置$index变量我刚才做了类似的事情: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
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;
}