|
|
|
|
|
для: isset
(22.04.2006 в 14:26)
| | примерно так:
<?php
class user implements ArrayAccess
{
var $id = 12345;
var $name = 'Petr Ivanovich';
function offsetExists($offset) {
return in_array($offset, array_keys(get_object_vars($this)));
}
function offsetGet($offset){
return $this->$offset;
}
function offsetSet($offset, $value) {
$this->$offset = $value;
}
function offsetUnset($offset) { return 0; }
}
$users = array();
$user_cl = new user($id);
$users[0] = $user_cl;
echo $users[0]['id'] . ' of ' . $users[0]['name'];
?>
|
| |
|
|
|
|
|
|
|
для: СекторЁнок
(21.04.2006 в 14:43)
| | такое возможно под php5 | |
|
|
|
|
|
|
|
для: СекторЁнок
(22.04.2006 в 07:06)
| | а если так
<?
for ( $i = 0; $i < count($user_list); $i++ )
{
if ( $users[ $user_list[i] ]['id'] == '')
{
$user_cl = new user( $user_list[i] );
$users[$user_list[i]]['id'] = $user_cl->id;
$users[$user_list[i]]['name'] = $user_cl->name;
}
echo $users[ $user_list[i] ]['name'];
}
?>
|
| |
|
|
|
|
|
|
|
для: СекторЁнок
(21.04.2006 в 14:43)
| | Не понятно вот что в массив заганяется объект или класс? и какой массив? | |
|
|
|
|
автор: СекторЁнок (22.04.2006 в 07:06) |
|
|
для: localGhost
(21.04.2006 в 14:52)
| | >насколько я понял нужно это:
Нет, не это:)
>может нужно так?:
Вы правы...
Мне нужно скопировать переменные класса ($user_cl) в массив($users)
$user_list - массив, в котором хранятся id пользователей( могут быть повторяющиеся значения)
Цель задачи, если данные пользователя были уже занесены в массив, то просто вывести данные из массива, иначе создать элемент класса и занести его данные в массив.
брр, надеюсь Вы поняли:)
for ( $i=0; $i < count($user_list); $i++ )
{
if ( $users[ $user_list[i] ]['id'] == '')
{
$user_cl = new user( $user_list[i] );
$users[$user_list[i]] = $user_cl;
}
echo $users[ $user_list[i] ]['name'];
}
|
вроде этого, но это не работает( естественно:)) | |
|
|
|
|
|
|
|
для: СекторЁнок
(21.04.2006 в 14:43)
| | насколько я понял нужно это:
<?
$user_cl = new user($id);
echo $user_cl -> name;
?>
|
только вот не совсем понятно часть кода класса:
$row = mysql_fetch_array($query)
{
$this->id=$row["id"];
$this->name=$row["name"];
}
|
может нужно так?:
<?
$row = mydel_fetch_array (mysql_query ("SELECT * FROM usersWHERE id = $id "));
$this->id=$row["id"];
$this->name=$row["name"];
?>
|
| |
|
|
|
|
автор: СекторЁнок (21.04.2006 в 14:43) |
|
| Мне нужно скопировать класс в массив, а как это сделать я не знаю:)
т.е. мне нужно что-то подобное:
<?php
$user_cl = new user($id);
$users[$id] = $user_cl
echo $users[$id]['name'];
?>
|
<?php
class user
{
var $id; //номер
var $name; //название
function user($id)
{
$query = mysql_query ("SELECT * FROM usersWHERE id = $id ");
$row = mysql_fetch_array($query)
{
$this->id=$row["id"];
$this->name=$row["name"];
}
}
}
?>
|
| |
|
|
|
|