问题标签 [spl]
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 - DirectoryIterator 扫描以排除“。” 和“..”目录仍然包括它们?
在下面的脚本中,我试图将 $base 目录中存在的文件夹复制到 $target 目录。然而,在我最初的回声测试中,它返回了 . 和 .. 目录,即使我试图在条件中处理该异常。
我错过了什么?
但是,如果我将条件更改为...,这对我来说毫无意义
它返回 $base 中的正确文件夹。什么?
php - copy() 函数的第一个参数不能是目录?
更新:在 Pascal 的建议答案中,这是我修改后的代码。这行得通。
php - PHP 预定义接口和 SPL - 版本检查是否足够?
这也许是一个显而易见的问题,但我想确定一下。
我正在尝试找出“预定义接口”出现在 PHP 中的哪个版本。我的假设是 5.0.0,因为这是根据文档添加 SPL 接口的时候。
此外,这些是否可以通过配置或重新编译来禁用,或者可以安全地假设版本检查满足它们的存在?为什么它们甚至与 SPL 分开,区别只是这些不能被关闭,而 SPL 可以吗?(至少在 5.3.0 之前)
php - 在 php 5.2 中使用 splheap
有没有办法在 php 5.2 中使用 splheap?IE。我可以将课程粘贴到某个地方吗?具体来说,我想用它对迭代器中的项目进行排序,我正在寻找迭代器上的 usort() 等价物。
php - 代码处理时间过长并且内存占用很大
这段代码在 0.8 秒内执行,占用了我机器上 22Mb 的内存。
可以做些什么来加速它,但更重要的是降低它在任何给定时间消耗的内存占用。
php - PHP5:SplObjectStorage 垃圾回收
我正在使用SplObjectStorage来保存有关托管对象的信息。当我的对象被破坏时,我希望SplObjectStorage
自动清理不再有外部引用的对象。
我现在只能看到两个选项:
- 让托管对象的析构函数通知存储删除对它的引用;这是不可接受的,因为这些对象不应该知道管理器;
- 解析debug_zval_dump()以获取引用计数;也不可接受,恕我直言,对于严肃的应用程序来说太“hacky”了。
还有其他想法吗?
php - PHP 惰性数组映射
有没有办法做 array_map 但作为迭代器?
例如:
这样做的原因是 $function 很难计算并且 $array 元素太多,只需要映射直到找到特定值。array_map 将计算所有值,然后才能搜索我想要的值。
我可以自己实现迭代器,但我想知道是否有这样做的本机方式。我找不到任何搜索 PHP 文档的内容。
php - 对象 LimitIterator - OutOfBoundsException
foreach
如果对象 LimitIterator 为空,如何编写不运行以下条件的条件?
上面的代码返回这个错误,
foreach
如果对象 LimitIterator 为空,我只是不想运行。
编辑:
为什么$limiter->valid();
总是返回false
?我有下面的代码在我网站的一个页面上运行,
php - 是否可以在 php 5.2.6 中使用 SplEnum?
我尝试使用类:
和
我有 :
致命错误:找不到类“SplEnum”
我在 PHP 5.2.6 上工作。SplEnum 适用于 php > 5.3 吗?我在文档中没有看到...
php - PHP如何在arrayObject上进行array_unshift
如标题所述,您如何array_unshift()
在 a 上执行 an arrayObject
,array_push()
是通过执行 an 获得的,arrayObject->append()
但是 unshift 呢?
编辑:我忘记提及的是,在这种特殊情况下,我还需要保留现有密钥。