代码之家  ›  专栏  ›  技术社区  ›  Kzqai

在php中,我可以让一个对象行为与数组有多相似?我该怎么做?

  •  2
  • Kzqai  · 技术社区  · 15 年前

    iterable 你可以让一个物体 foreach

    (这样做的原因是因为我从数据库中选择数据,而默认情况下产生的语句对象在内存方面非常好,而数组形式的完整数据集往往会将内存使用情况纳入轨道。我希望能做到两全其美,数组类型的使用率和较低的内存使用率,直到需要数组类型的行为为止。)

    3 回复  |  直到 15 年前
        1
  •  6
  •   Artefacto    15 年前

    你说什么 做不到 :

    你不能让它和 array functions ,除了这些,哪种工作,而是依赖于将对象转换为数组,这是通过获取其属性来完成的:

    • end , prev next , reset , current key
    • array_walk , array_walk_recursive , array_key_exists .
        2
  •  2
  •   NikiC    15 年前

    ArrayAccess Countable 接口。前者允许使用 $obj[...] 后者允许 count($obj);

        3
  •  1
  •   Christian    15 年前

    不知道这是不是你需要的,但你可以:

    // $your_object
    
    foreach(get_object_vars($your_object) as $property=>$value) /* do something */ ;