致命错误:在循环通过14个元素长的单字符数组时,耗尽了允许的内存大小

害羞

我有一个简单的字符串。我需要产生一个输出Array,以使每2个连续字符的顺序相反。

输入字符串是14f05000034e69,我需要以下输出Array [4, 1, 0, f, 0, 5, 0, 0, 4, 3, 6, e, 9, 6]

这是我的PHP代码:

$myString = "14f05000034e69";
$myStringArray = str_split($myString);

$newArray = array();
for ($index=0; $index<count($myStringArray)-1; $index+2) {
    $newArray[] = $myStringArray[$index+1];
    $newArray[] = $myStringArray[$index];
}

print_r($newArray);

它给了我

致命错误:在第8行的/var/www/html/test.php中,耗尽了134217728字节的允许内存大小(试图分配134217736字节)

问题是为什么以及如何解决它?

pr1nc3
<?php


$myString = "14f05000034e69";
$myStringArray = str_split($myString);

$i=0;
foreach($myStringArray as $row){
    if(array_key_exists($i,$myStringArray)) {
        $newArray[$i] = $myStringArray[$i + 1];
        $newArray[$i + 1] = $myStringArray[$i];
        $i = $i + 2;
    }
}

echo '<pre>';
print_r($newArray);

我以一种“肮脏”的方式找到了解决方法,但是我设法做到了您的要求。

基本上,我像您一样拆分字符串,但是我围绕着新数组的位置进行游戏,并将新数组中的位置推入,这就是为什么我为此使用计数器的原因。

输出为:

Array
(
    [0] => 4
    [1] => 1
    [2] => 0
    [3] => f
    [4] => 0
    [5] => 5
    [6] => 0
    [7] => 0
    [8] => 3
    [9] => 0
    [10] => e
    [11] => 4
    [12] => 9
    [13] => 6
)

基本上我以为我需要将数组循环两个,但是每次循环时我都需要处理2个数组位置,然后再处理下两个数组。

因此,这导致我以$new_array一种方式处理我,即我同时将数据推入当前位置和下一个位置,这就是为什么计数器$i+1用于处理数组位置的原因。

如果我不在那里使用它并使用简单的方法$newArray[],它将把数据放到当前位置并在第二步中再次覆盖它,而且我无法将数组指针移动到位置1,3,5,6等,这就是为什么我是“强迫”它使用我的$i计数器,所以我一直指着每个后位置。

我的$i计数器设置在每个循环的末尾,以进行第二步。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Composer require内存不足。PHP致命错误:允许的内存大小为1610612736字节已用尽

Symfony缓存:清除php。严重:致命错误:允许的内存大小

致命错误:调整图像大小时,耗尽了允许的内存大小

致命错误:XAMPP中已用完允许的内存大小

致命错误:耗尽了134217728字节的允许的内存大小(试图分配262144字节)?

PHP致命错误:耗尽了1073741824字节的允许内存大小(尝试分配16777216字节)

如何修复Laravel中耗尽的允许内存大小?

使用magento / bin setup:di:compile在docker中耗尽了PHP内存大小

Symfony 5缓存:清除php。严重:致命错误:允许的内存大小

Composer require内存不足。PHP致命错误:允许的内存大小为1610612736字节已耗尽旅行者

读取文件时允许的内存大小用尽错误

joomla k2-耗尽了5242880字节的允许内存大小

生成数据库备份时出现“ PHP致命错误:允许的内存大小为134217728字节已用尽”

致命错误:耗尽了536870912字节的允许的内存大小

Codeigniter处理大文件时耗尽了允许的内存大小

致命错误:耗尽了268435456字节的允许的内存大小(试图分配71个字节)

致命错误:opencart中允许的内存大小为67108864

PHP允许图像上传旋转时耗尽内存大小

致命错误:我的PHP脚本允许的内存大小(ams)和内存不足(oom)

致命错误:第15行的C:\ xampp \ htdocs \ main.php中耗尽了134217728字节的允许内存大小(尝试分配8192字节)

为什么PHP耗尽了134217728字节的允许内存大小?

Zend Framework 1.12 + Crontab + odbc查询-致命错误:允许的内存大小

尝试将SQL结果导入数组:致命错误:允许的134217728字节的内存大小已用尽

在 Laravel 中使用 for 循环后允许的内存大小耗尽

致命错误 134217728 字节的允许内存大小在 MySQL 查询表中的总量时耗尽

LARAVEL 致命错误异常:已用尽 134217728 字节的允许内存大小(尝试分配 10489856 字节)

PHP 致命错误:允许的内存大小为 2097152 字节已用完(尝试分配 12288 字节)

致命错误:已用尽允许的 268435456 字节内存大小(尝试分配 132120600 字节)

PHP 致命错误:composer 更新允许的内存大小为 1610612736 字节