首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP ArrayObject / ArrayIterator :概念和示例

PHP ArrayObject / ArrayIterator :概念和示例
EN

Stack Overflow用户
提问于 2013-07-10 00:34:16
回答 2查看 7.8K关注 0票数 7

我正在尝试理解PHP中对象数组的概念。到目前为止,我只是简单地使用常规数组来遍历记录列表,并在表中显示它们。

我知道我可以使用Object做到这一点,但我不太确定该怎么做。

我理解单个对象实例的概念,所有属性表示字段,其关联值从数据库填充,可以这样调用:

代码语言:javascript
复制
$objUser->first_name;

现在我想要理解的是,我不能找到一个简单的答案,那就是如何处理我想要在一个页面上显示的用户列表。我已经看到有ArrayObject,ArrayIterator等,但就是不能理解它们是如何工作的,所以如果有人能试着用几个例子来解释一下如何实现上面的功能,我将非常感激。

我正在寻找的是一个包含元素列表的对象,我可以像这样循环(如果这是可能的话):

代码语言:javascript
复制
foreach($objUsers as $objUser) {
    echo $objUser->first_name;
}

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-10 01:41:25

这是可能的。让您的对象实现Iterator接口,然后您将能够在本地对其执行foreach。(请注意,您需要正确实现前进和倒退数组的方法)

更多信息:

  • Iterator接口。阅读示例和用户comments.
  • -他解释得很好。
票数 5
EN

Stack Overflow用户

发布于 2013-07-10 01:06:24

如果我遇到了这个问题,您会问如何处理多个对象?

因此,如果您使用object数组,例如,来自ORM。

代码语言:javascript
复制
$users_list = new Users();
$arr_users = $users_list->all();

在$arr_users中,您将拥有一个数组,其中包含来自数据库的许多用户对象。每个对象都有一些属性,例如- id、名称、性别和年龄。

代码语言:javascript
复制
foreach($arr_users as $single_user) {
    echo $single_user->id;
    echo $single_user->name;
    echo $single_user->gender;
    echo $single_user->age;
}

如果您只需要一个用户:

代码语言:javascript
复制
echo $arr_users[1]->name;

你也可以像这样处理数组对象。首先,从$arr_users生成新的数组;

代码语言:javascript
复制
foreach($arr_users as $single_user){
$arr_user_by_id[$single_user->id] = $single_user;
}

现在您有了新的数组,其中的键是用户id和值对象user。

这样你就可以通过他的ID来获取用户信息。

代码语言:javascript
复制
echo $arr_users[$_GET['uid']]->name;

我希望我能帮你理解一点。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17553589

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档