【发布时间】:2016-08-31 19:45:00
【问题描述】:
我需要使用 PHP RecursiveArrayIterator 库计算该数组中有多少用户,以及数组上方或下方的用户总数。
如何计算?
我目前必须设置的网络(数组中的对象转换):
Array
(
[left] =>
[center] => Array
(
[user_id] => 5
[name] => Leo Turner
[username] => ayla.zemlak
[email] => gottlieb.geovany@example.net
[sponsor] => 1
[indicate] => 1
[network] => Array
(
[left] =>
[center] => Array
(
[user_id] => 8
[name] => Jaiden Simonis
[username] => cgorczany
[email] => genoveva31@example.net
[sponsor] => 1
[indicate] =>
[network] => Array
(
[left] =>
[center] =>
[right] =>
)
)
[right] =>
)
)
[right] =>
)
我的新解决方案的树类:
<?php
namespace App\Helpers;
class Tree
{
public $total;
public $hasUp;
public $hasDown;
public $id;
public $name;
public $email;
public $username;
public $treeDefault;
public $network;
public function __construct( $id )
{
$this->total = 'total users';
$this->hasUp = 'get user up in array';
$this->hasDown = 'get user down in array';
$this->id = $id;
$this->name = $this->getUser('name');
$this->email = $this->getUser('email');
$this->username = $this->getUser('username');
$this->treeDefault = $this->getTreeJson( $id );
$this->network = $this->getNetwork( $id );
}
/**
* @param $field
* @return mixed
*/
public function getUser( $field )
{
$user = \App\Models\User::where( 'id', $this->id )->first();
return $user[ $field ];
}
/**
* @param null $id
* @return string
*/
public function getTreeJson( $id = null )
{
return json_encode( $this->getNetwork( $id ) );
}
/**
* Mount Tree Array
* @return array
*/
public function getNetwork( $id = null )
{
$hasId = (isset($id) ? $id : $this->id);
$network = \App\Models\Network::where( 'user_id', $hasId )->first();
$tree = json_decode( $network['users'] );
foreach( $tree as $key => $item ) {
$newTree[ $key ] = ($item->user != '' ? new Tree( $item->user ) : null);
}
return (isset($newTree) ? $newTree : null);
}
}
(对我来说很复杂,我没有什么经验)
谢谢
【问题讨论】:
-
你在说什么数组?
-
是的,我忘了显示数组说话,我编辑了问题。感激不尽。
-
请在此处粘贴您的代码。
-
使用内联代码更新
-
@Raank 请在下面查看我的答案。你认为我的回答可以暗示你的问题吗?如果有任何让您感到困惑的地方,请告诉我们,我们会尽力为您提供帮助。
标签: php laravel multi-level