Есть код: Код (Text): <?php header("Content-type: text/html; charset=utf-8"); interface IUser{ function GetUserInfo($n,$l,$p,$r); } class UserManipulation implements IUser{ public $user_list=array(); public $user_name; public $user_login; public $user_password; public $user_role; function GetUserInfo($n,$l,$p,$r) { $this->user_name=$n; $this->user_login=$l; $this->user_password=$p; $this->user_role=$r; $this->user_list=array( $this->user_name=>array( "Логин пользователя: "=>$this->user_login, "Пароль пользователя: "=>$this->user_password, "Роль пользователя: "=>$this->user_role)); } function ShowUserInfo($n){ $this->user_name=$n; echo $user_list[$this->user_name]; } function ShowUserInfoAll(){ echo "<pre>\n"; print_r($this->user_list); echo "<pre>\n"; } } $user=new UserManipulation(); $user->GetUserInfo("vasya", "pupkin", "1234567890", "simpleuser"); $user->GetUserInfo("petya", "jopkin", "1234567890", "admin"); $user->GetUserInfo("misha", "pipiskin", "1234567890", "simpleuser"); $user->GetUserInfo("lesha", "debilkin", "1234567890", "simpleuser"); $user->GetUserInfo("mitya", "mozg", "1234567890", "simpleuser"); $user->ShowUserInfoAll(); ?> Почему в результате работы возвращает только последнюю запись массива а не весь массив???
Продолжение банкета ..., сказывается пятница ... Наверно ... Туплю ... PHP: <?php header("Content-type: text/html; charset=utf-8"); class User{ public $user_name; public $user_login; public $user_password; public $user_role; public $user_id; public $user_preference=array(); public $user_list=array(); static $count_admin; static $count_user; # Функция добавления пользователя function AddUser($n,$l,$p,$r){ $this->user_name=$n; $this->user_login=$l; $this->user_password=$p; $this->user_role=$r; $this->user_list[]=array( $this->user_id=>array( "Имя пользователя:"=>$this->user_name, "Логин пользователя:"=>$this->user_login, "Пароль пользователя:"=>$this->user_password, "Роль пользователя:"=>$this->user_role)); } # Функция просмотра списка пользователей function UserList(){ echo"<pre>\n"; print_r($this->user_list); echo"</pre>\n"; foreach($this->user_list as $this->user_id=>$this->user_preference){ echo "Идентификатор пользователя: <b>".$this->user_id."</b><br>\n"; foreach($this->user_preference as $k=>$v){ echo $k.":<b> ".$v."</b><br>\n"; } } } # Функция выборки и подсчета пользователей по исполняемой роли function UserListRoleCount(){ } } $user=new User; $user->AddUser("vasya", "pupkin", "1234567890", "admin"); $user->AddUser("vasya", "pupkin", "1234567890", "admin"); $user->AddUser("vasya", "pupkin", "1234567890", "admin"); $user->AddUser("vasya", "pupkin", "1234567890", "admin"); $user->AddUser("vasya", "pupkin", "1234567890", "root"); $user->UserList(); //class User{ // static $count; // function __construct() { // ++self::$count; // } //} ?> Почему при переборе массива foreach-ом не выводит значения вложенного массива??? А pint_r-ом все в порядке ...
Потому, что надо правильно сформировать массив PHP: <?php $this->user_list[$this->user_id] = array("Имя пользователя:"=>$this->user_name, .. Подучите основы