问题标签 [arrayaccess]
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.
php - 当我们在php中实现ArrayAccess接口时,empty()方法做了什么?
我是 php 新手并从php.net学习它。以下参考链接上的注释说:
使用 empty() 时,仅当ArrayAccess::offsetExists()返回TRUE时,才会调用 ArrayAccess::offsetGet() 并检查是否为空。
这是什么意思?
参考链接(http://php.net/manual/en/arrayaccess.offsetexists.php)。
php - 如果另一个值不可用,offset 参数将设置为 NULL,这在 php 中是什么意思?
我正在为我的最后一年项目学习ArrayAccess接口。我不知道ArrayAccess::offsetSet()的offset参数何时设置为NULL。如php.net中所述。
注意:如果另一个值不可用,偏移参数将设置为 NULL,如下例所示。
上面的示例将输出:
那么这里的NULL是什么概念呢?谁能告诉?
参考链接http://php.net/manual/en/arrayaccess.offsetset.php。
谢谢 !
php - 为什么我们使用 ArrayAccess::offsetUnset(),而不是我们可以在 php 中使用 unset()?
为什么我们使用ArrayAccess::offsetUnset()而不是我希望unset()足以使用。但是 php.net 声明:
注意:类型转换为(未设置)时不会调用此方法
谁能告诉我们如何使用它,它是否会自动从实现ArrayAccess接口的类中取消设置被调用的偏移元素?
参考链接http://php.net/manual/en/arrayaccess.offsetunset.php。
谢谢 !!!
php - PHP:计算没有 Countable 的 ArrayAccess 对象
所以我正在使用一些我没有完整源代码的外部 PHP 代码。我正在使用反射来制定可调用的方法等。
他们有这样的课程:
所以逻辑上我可以foreach(SpecialArray)
,那很好。
但是在代码中,我可以通过某种方式count(SpecialArray)
获得正确的计数,例如,如果 SpecialArray 中有 5 个元素,count(SpecialArray)
则返回 5!
但是,该类中没有count
方法,该类也没有实现Countable
CallingSpecialArray->count()
也失败了Call to undefined method
有谁知道他们如何做这种巫毒魔法?
满的\ReflectionClass::export()
php - PHP 5.6:ArrayAccess:函数 isset 调用 offsetGet 并导致未定义索引通知
我编写了实现 ArrayAccess 接口的简单 PHP 类:
它在 PHP 7 中正常工作,但在 PHP 5.6 和 HHVM 中出现问题。
如果我isset()
在未定义的索引上调用函数,PHP 将调用offsetGet()
而不是offsetExists()
会引起Undefined index
注意。
在 PHP 7 中,它offsetGet()
仅在offsetExists()
返回时调用true
,因此没有错误。
我认为这与PHP bug 62059有关。
该代码在 3V4L 可用,因此您可以看到问题所在。如果索引未定义,我添加了更多调试调用并抛出异常,因为 3V4L 中未显示通知: https ://3v4l.org/7C2Fs
不应该有任何通知,否则 PHPUnit 测试将失败。我该如何解决这个错误?
arrays - 是否有从二维数组中提取对角线的下标语法?
我大多可以按照语法在文档页面上“向下钻取/切片”到具有多个维度(和展平)的数组中。一个非常酷的功能。例如给出:
我可以使用以下方法选择上述第 2 列:
是否可以以类似的紧凑语法提取对角线 (1,5,9)?
php - 为没有容器数组的 ArrayAccess 实现 Iterator 接口
这是我为 ArrayAccess 实现https://www.php.net/manual/en/class.iterator.php的尝试。许多示例使用容器数组作为私有成员变量;但如果可能的话,我不想使用容器数组。我不想要容器数组的主要原因是因为我想$DomainData->domainId
在拥有智能感知等的同时访问这样的属性(数组键)。
调用它:
实际的:
想要的:
c# - 多线程访问和编辑同一个双精度数组
我需要遍历数组中的每个双精度来执行“拉普拉斯平滑”,“混合值”与相邻双精度。
我会将存储的值保存在临时克隆数组中,最后更新原始值。
伪代码:
使用for
它可以正常工作。“平滑”数组中的值。
我Parallel.For()
遇到了一些访问同步问题:线程正在发生冲突,并且某些值实际上没有正确存储。线程多次访问和编辑同一索引处的数组。
(我没有在线性数组中测试过这个,我实际上正在研究一个多维数组[x,y,z] ..)
我该如何解决这个问题?
我正在考虑为每个线程创建一个单独的数组,然后再进行求和......但我需要知道线程索引并且我在网络上的任何地方都没有找到。(即使使用完全不同的解决方案,如果存在“线程索引”,我仍然感兴趣......)。
我会接受任何解决方案。
arrays - 用于访问一维数组的 Julia For 循环
我正在尝试运行 2 for 循环来访问数组中的 2 个元素,(例如)
并且经常(并非总是)我收到此错误或类似错误:
我知道有适当的方法来运行这些循环以避免边界错误,因此我使用eachindex(x-1) == 1:x
, 我将如何做到这一点2:x
?
我对 Julia 比较陌生,如果这不是边界错误的原因,那可能是什么?- 谢谢
编辑:我正在尝试运行的缩短版本(也是,矢量数组)
c++ - C ++为什么即使未定义也允许访问数组外部的元素?
我想知道为什么在明确提到未定义时允许访问数组边界之外的元素。