问题标签 [arrayobject]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1051 浏览

php - 使用 ArrayObject::STD_PROP_LIST 的原因是什么

我没有找到任何将 ArrayObject 与 ArrayObject::STD_PROP_LIST 标志一起使用的示例。 http://www.php.net/manual/en/arrayobject.setflags.php 你能给我任何使用带有这个标志的 ArrayObject 的例子吗?

0 投票
2 回答
131 浏览

jquery - 用 $.each 创建数组对象不起作用

我正在尝试使用 JQGrid 创建本地表,在我更改数组之前一切正常,这是工作代码:

HTML 代码:

JS代码

你也可以从这里运行它:http: //jsfiddle.net/bYQn6/2/

现在,当我将 Obj 数组更改为:

打印这个“mydata”看起来和上面的“mydata”一模一样,但它不起作用:(

我究竟做错了什么??

谢谢!!!

0 投票
2 回答
60 浏览

javascript - 使用具有可变属性的 js 对象参数

我有以下数组。

这是 php 数组。(我使用json编码)

现在我想创建表。我使用了以下代码。

var headers = data.searchEngineOrder;

如上面的代码 brands[x].keyword或品牌[x]。谷歌是工作。但是当我使用关键字或谷歌作为变量时,它不起作用。

请帮我。我该怎么做?

0 投票
2 回答
789 浏览

php - 覆盖函数不兼容

TL;博士

我想这样重写:offsetSet($index,$value)但它会产生一个致命错误(“声明必须兼容”)。ArrayObjectoffsetSet($index, MyClass $value)

什么为什么

我正在尝试创建一个ArrayObject强制所有值都属于某个对象的子类。我的计划是通过覆盖所有添加值的函数并给它们一个类型提示来做到这一点,所以除了值之外你不能添加任何东西MyClass

如何

第一站:append($value);
来自 SPL:

我的版本:

似乎像魅力一样工作。

你可以在这里找到这个工作的例子

第二站:offsetSet($index,$value);

同样,来自 SPL:

我的版本:

但是,这会产生以下致命错误:

致命错误:Namespace\MyArrayObject::offsetSet() 的声明必须与 ArrayAccess::offsetSet() 的声明兼容

你可以在这里看到这个不工作的版本

如果我这样定义它,那很好:

你可以在这里看到这个工作的一个版本

问题

  1. 为什么覆盖不能offsetSet()使用上面的代码,但是append()呢?
  2. 如果我在 and 的旁边添加了 next 的定义,我是否拥有添加对象的所有exchangeArray()功能?append()offsetSet()
0 投票
3 回答
3378 浏览

php - ArrayObject 不允许我在迭代时取消设置值

我收到了这个通知:

ArrayIterator::next(): 数组在对象外部被修改,内部位置在 /var/www 中不再有效...

这是由这段代码在 foreach 循环开始时生成的。与通知一起,foreach 循环重新开始迭代。换句话说,只要发生这种情况,内部位置就会被重置。但根据 php 手册,ArrayObject 默认使用 ArrayIterator。

手册上说的是关于 ArrayIterator

此迭代器允许在迭代数组和对象时取消设置和修改值和键。

我在这里错过了什么吗?我发现了一些关于 ArratIterator 的错误报告,但不是这种。这是一个错误还是我的坏?

版本:PHP 版本 5.3.10-1ubuntu3.4

0 投票
1 回答
187 浏览

javascript - 对对象数组进行排序以消除重复条目

我有这个对象数组

在将一些对象条目添加到数组后

我想消除存储在ArrTdsObjects基于curTdID

含义:Id如果较高的单元格编号具有相同的数组中的第一个单元格,则将被省略id

如果它们存在于较高的单元格编号中,我如何消除较低索引编号的数组项目,这意味着数组中最后添加的项目将被保存?

0 投票
4 回答
17979 浏览

php - 在 PHP 中的数组对象中搜索值

我们有一个这样的数组,我想搜索一个特定的值,比如HOSP2,获取索引值的过程是什么。

0 投票
2 回答
14849 浏览

php - Spl、ArrayObject、ArrayObject::STD_PROP_LIST

我试图理解文档中的 STD_PROP_LIST 常量,但到目前为止我不明白,也没有找到任何解释:( 文档有以下示例:

两张照片都给了我相同的确切结果:

任何人都可以帮助我理解使用这个常量有什么区别?

提前致谢!

0 投票
1 回答
636 浏览

php - ArrayIterator 和 ArrayObject 的 flags 参数有什么作用?

PHP 的构造函数ArrayIteratorArrayObject一个flags参数,记录ArrayObject::setFlags()如下:

ArrayObject::STD_PROP_LIST

当作为列表(var_dump、foreach 等)访问时,对象的属性具有它们的正常功能。

ArrayObject::ARRAY_AS_PROPS

条目可以作为属性访问(读取和写入)。

ArrayIterator::setFlags() 的文档是相似的(区别在于差异错误)。

现在,我很好地理解了第二个标志,它允许通过以下方式访问属性->以及通过以下方式访问数组[]

但我无法绕开我的头ArrayObject::STD_PROP_LIST。据我测试,无论有没有这个标志,它var_dumpforeach行为都完全相同。我在这里想念什么?

0 投票
1 回答
4310 浏览

php - PHP递归地将ArrayObject转换为关联数组

嘿伙计们,我有一个方法应该回调并递归地将一个Arrayobject转换为关联数组,不幸的是我遇到了一个致命错误

这是我的方法

这是一个示例ArrayObject