spl相关内容

为什么我必须倒带 IteratorIterator

$arrayIter = new ArrayIterator(array(1, 2));$iterIter = new IteratorIterator($arrayIter);var_dump($iterIter->valid());//错误的var_dump($arrayIter->valid());//真的 如果我先调用$iterIter->rewind(),那么$iterIter->va ..
发布时间:2022-01-10 15:08:25 PHP

如何在 PHP 中使用 RegexIterator

我还没有找到一个很好的例子来说明如何使用 php RegexIterator 递归遍历一个目录. 最终结果是我想指定一个目录并在其中查找所有具有某些给定扩展名的文件.例如,仅说 html/php 扩展.此外,我想过滤掉 .Trash-0、.Trash-500 等类型的文件夹. 到目前为止,我所拥有的结果是:致命错误:未捕获的异常“UnexpectedValueException",消息 ..
发布时间:2022-01-10 14:15:49 PHP

RecursiveIteratorIterator 在 PHP 中是如何工作的?

RecursiveIteratorIterator 是如何工作的? PHP 手册没有太多的文档或解释.IteratorIterator 和 RecursiveIteratorIterator 有什么区别? 解决方案 RecursiveIteratorIterator 是一个具体的 Iterator 实现 树遍历.它使程序员能够遍历实现 RecursiveIterator 接口的容器对 ..
发布时间:2022-01-10 14:08:21 PHP

RuntimeException SplFileInfo::getSize(): stat failed for... Laravel 4 上传图片

我使用 laravel 4(上次更新),我创建了一个 表单,我们可以在其中上传图片(徽标/头像).我在 MAC OS, 我使用 sublime Text 3、laravel 和 MAMP 应用程序.我所有的配置都设置正确,没有运行问题. 我的问题是,当我从表单提交到达字段时,我遇到了这个 错误:RuntimeExceptionSplFileInfo::getSize():/Applicati ..
发布时间:2022-01-08 08:47:42 PHP

PHP 的 SplDoublyLinkedList 类,更重要的是,一般的链表有什么意义?

为了扩展我的编程能力,我曾非常深入地研究 标准 PHP 库.这导致我发现了 SplDoublyLinkedList班级.从那里我阅读了链接列表和维基百科上的双向链表. 我理解它们是如何工作的...但是我想不出我们为什么需要它的原因——或者更好的 SplDoublyLinkedList 的实际例子,因为我们已经在 PHP 中建立了索引和关联数组. 链接列表在 PHP 内外通常是如何使用的? ..
发布时间:2022-01-01 18:52:09 PHP

使用 PHP - SPL 解决方案反向迭代数组?

PHP 中有 SPL 反向数组迭代器吗?如果没有,实现它的最佳方法是什么? 我可以简单地做 $array = array_reverse($array);foreach($array 作为 $currentElement) {} 或 for($i = count($array) - 1; $i >= 0; $i--){} 但是有没有更优雅的方式? 解决方案 没有 Revers ..
发布时间:2021-12-09 08:23:16 PHP

什么是自动加载;你如何使用 spl_autoload、__autoload 和 spl_autoload_register?

我正在学习高级 PHP 标准并尝试实施新的有用方法.早些时候我使用 __autoload 只是为了避免在每个页面上包含多个文件,但最近我看到了一个关于 __autoload 手册 spl_autoload_register() 为自动加载类.因此,使用 __autoload() 是不鼓励使用,将来可能会被弃用或删除. 但我真的不知道如何实现spl_autoload 和 spl_auto ..
发布时间:2021-11-30 21:16:31 PHP

“间接修改 SplFixedArray 的重载元素没有效果"

为什么会出现以下情况 $a = new SplFixedArray(5);$a[0] = 数组(1, 2, 3);$a[0][0] = 12345;//这里var_dump($a); 生产 注意:间接修改SplFixedArray的重载元素对没有影响.在线 这是一个错误吗?那么你如何处理多维 SplFixedArrays 呢?有什么解决方法吗? 解决方案 首先,问题与所有实 ..
发布时间:2021-11-18 04:10:44 PHP

在 PHP 中迭代数组时提前查看

在 PHP 5.2 中迭代数组时是否可以“提前查看"?例如,我经常使用 foreach 来操作数组中的数据: foreach($array as $object) {//做点什么} 但我经常需要在遍历数组时查看下一个元素.我知道我可以使用 for 循环并通过它的索引 ($array[$i+1]) 引用下一项,但它不适用于关联数组.我的问题是否有任何优雅的解决方案,可能涉及 SPL? 解决 ..
发布时间:2021-11-18 03:57:17 PHP

如何在 PHP 中对数组和数据进行排序?

本题旨在作为 PHP 数组排序问题的参考.很容易认为您的特定案例是独一无二的,值得提出一个新问题,但大多数实际上是此页面上的一个解决方案的微小变化. 如果您的问题因重复此问题而被关闭,请仅在您能解释为什么它与以下所有问题明显不同的情况下才要求重新打开您的问题. 如何在 PHP 中对数组进行排序? 如何在 PHP 中对 复杂 数组进行排序? 如何在 PHP 中对对象数组进行排序? ..
发布时间:2021-11-18 00:50:09 PHP

SPLFileInfo:获取不带扩展名的文件名

我正在访问SPLFileInfo对象中的许多文件.我看到了一种获取路径,文件名甚至文件扩展名的方法.有没有办法获取不带扩展名的文件名?这是我一直在使用的代码,但我希望得到一些更优雅的东西.是否有开箱即用的解决方案? $file = new SplFileInfo("path/to/file.txt.zip"); echo 'basename: '.$file->getBasename() ..
发布时间:2020-11-06 00:39:53 PHP

递归迭代多维数组,并返回相同的数组结构,并在PHP中插入新的键/值

我正在尝试编写一个片段,该片段采用多维数组,并在找到命名搜索键的同一级别插入一些键。 我不必依赖数组的结构(但最多为5个级别) 我不能使用按引用传递,因此传统的循环函数对这种方法无济于事。 我有2种选择:SPL或递归,它可以重新构造数组并沿途进行更改 使用SPL,我似乎无法插入新值。 $ a = new \ArrayObject($ priceConfig ); $ a ..
发布时间:2020-09-24 21:09:54 PHP

PHP,SPL,ArrayIterator

我试图理解一段代码: $array = array('koala', 'kangaroo', 'wombat', 'wallaby', 'emu', 'kiwi', 'kookaburra', 'platypus'); $object = new ArrayIterator($array); foreach($object as $key=>$value) { if($object->off ..
发布时间:2020-07-29 20:17:59 PHP

php获取文件夹中文件的完整路径

我有一个名为 data 的文件夹.在此 data 文件夹中,有文件和文件夹.在此文件夹中,有文件和文件夹....像这样继续... 我需要获取所有文件路径(包括子目录的文件). 我有一个php代码: function dirToArray($dir) { $contents = array(); foreach (scandir($dir) as $node) { ..
发布时间:2020-07-03 01:48:31 PHP

使用RecursiveDirectoryIterator对目录列表进行排序

我正在使用RecursiveDirectoryIterator和RecursiveIteratorIterator来使用以下代码构建文件列表树.我需要对列表进行排序-目录然后按字母顺序或仅按字母顺序进行文件. 谁能告诉我如何对文件列表进行排序? $dir_iterator = new RecursiveDirectoryIterator($groupDirectory); $itera ..
发布时间:2020-07-03 00:59:06 PHP

Spl,ArrayObject,ArrayObject :: STD_PROP_LIST

我试图理解文档中的STD_PROP_LIST常量,但到目前为止我还不了解它,也没有找到任何解释:( 该文档具有以下示例: $a = new ArrayObject(array(), ArrayObject::STD_PROP_LIST); $a['arr'] = 'array data'; $a->prop = 'prop data' ..
发布时间:2020-06-21 18:34:25 PHP

在PHP中使用$ files = new DirectoryIterator()之后,如何对项目进行排序?

我们可以通过以下方式在PHP目录中获取文件 $files = new DirectoryIterator() 之后,是否有一种简单的方法可以按特定顺序对项目进行排序以显示它们?谢谢. 解决方案 似乎没有一种方法可以对迭代器中的数据进行排序. 您可以将显示数据放入一个中间数组,并使用您希望排序的值的键,然后在该数组上调用ksort().但是,这将需要两次传递数据. $ ..
发布时间:2020-05-27 02:13:19 PHP