- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有这个代码
$second_half = $items; //ArrayIterator Object;
$first_half = array_slice($second_half ,0,ceil(count($second_half)/2));
这给出警告 Warning: array_slice() expects parameter 1 to be array, object given有没有办法将 ArrayIterator
对象一分为二?
基本上我想要一半的未知数量的项目存储在 $first_half
和剩余的项目 $second_half
;结果将是两个具有两组不同项目的 ArrayIterator
对象。
最佳答案
看来您可以使用 getArrayCopy
ArrayIterator 的方法。这将返回一个数组,然后您可以对其进行操作。
至于将一半结果分配给新的 ArrayIterator
,将另一半分配给另一个 ArrayIterator
,您不需要将其缩减为数组。您可以简单地使用迭代器本身的 count
和 append
方法:
$group = new ArrayIterator;
$partA = new ArrayIterator;
$partB = new ArrayIterator;
$group->append( "Foo" );
$group->append( "Bar" );
$group->append( "Fiz" );
$group->append( "Buz" );
$group->append( "Tim" );
foreach ( $group as $key => $value ) {
( $key < ( $group->count() / 2 ) )
? $partA->append( $value )
: $partB->append( $value );
}
这导致构造了两个新的ArrayIterator
:
ArrayIterator Object ( $partA )
(
[0] => Foo
[1] => Bar
[2] => Fiz
)
ArrayIterator Object ( $partB )
(
[0] => Buz
[1] => Tim
)
根据需要修改三元条件。
关于php - 如何将 ArrayIterator 一分为二?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10135591/
我代码中的数组很大,所以我将它粘贴到 pastebin 中。 http://pastebin.com/6tviT2Xj 我不明白为什么我会死循环 这个脚本的逻辑是: $it = new ArrayIt
我有这个代码 $second_half = $items; //ArrayIterator Object; $first_half = array_slice($second_half ,0,ceil
我很困惑为什么 ArrayIterator 的子类永远不会调用它的 __construct 方法。考虑这个例子: getIterator(); if ( get_class( $it ) !=
queryMe 方法返回一个 ArrayIterator。 queryYou 方法返回 ArrayIterator。 public ArrayIterator query(String table,
因为这似乎是我必须做的才能获得这种效果: $arr = ['a'=>'first', 'b'=>'second', ...]; $iter = new ArrayIterator( $arr ); /
我正在尝试克隆一个\ArrayIterator 对象,但看起来克隆的对象仍在引用原始对象。 $list = new \ArrayIterator; $list->append('a'); $list-
我有一个长期运行的 PHP 守护程序,其集合类扩展了 ArrayIterator .这包含一组自定义 Column对象,通常少于 1000 个。通过 xdebug 运行它我找到了我的 find方法消耗
当尝试按照 neon tutorial 中的说明设置 DataIterator 时. from neon.data import DataIterator import numpy as np X =
好的,正如标题所说:与简单的 foreach 循环相比,使用 ArrayIterator 的主要好处是什么。 我有一个用作容器的对象,它的主要职责是存储一个对象数组。 有人建议我让我的类实现 Iter
我已经开始从 ArrayIterators 学习 PHP SPL,我想知道使用 SPL ArrayObject、ArrayIterator、RecursiveArrayIterator 代替常规数组有
ArrayIterator 的 PHP 站点上没有文档超出基本参数引用的对象,所以我什至不确定这是可能的。 我理解 ArrayIterator 的概念从基本意义上讲,就像这个例子: $rows = n
我在使用 ArrayIterator 时遇到了一些问题(事实上,ArrayObject 也有同样的问题)。 对于 99% 的一切,我扩展的 ArrayIterator 的行为就像一个数组,并且运行良好
我有一个扩展 ArrayIterator 的 PHP 类,并实现了所有必要的方法,使其表现得像一个数组。 这适用于 foreach 循环之类的事情,但调用 print_r它仍然打印出对象的变量,而不是
ArrayIterator很方便(尽管我不需要 reset 功能),但与 Commons Collections 的其他内容一样,它不使用泛型。我检查了 Google Collections , 但我
有人能解释清楚PHP中ArrayIterator、ArrayObject和Array在功能和操作方面的根本区别吗?谢谢! 最佳答案 Array 是原生的 php 类型。您可以使用 php 语言构造 a
我是一名优秀的程序员,十分优秀!