НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
⊗ppSpOtAC 83 of 83 menu

Оптимизация преобразования в массив в PHP

Не всегда нужно разбивать строку в массив, чтобы что-то с ней сделать.

Давайте посмотрим на примере. В следующем примере автор кода проверяет, есть ли в строке цифра 3:

<?php $str = '12345'; $arr = explode('', $str); // разобьем в массив if (in_array(3, $arr)) { echo 'есть'; } else { echo 'нет'; } ?>

Автор молодец - использует встроенные функции PHP, вместо того, чтобы писать свои костыли.

Но код все равно не оптимальный: здесь нет нужды разбивать строку в массив, ведь существует готовая функция strpos, выполняющая поиск по строке:

<?php $str = '12345'; if (strpos(str, 3) !== false) { echo 'есть'; } else { echo 'нет'; } ?>

Почему здесь разбивать в массив плохо? Потому что, во-первых, на разбиение в массив тратятся ресурсы процессора, во-вторых, полученный массив будет занимать место в оперативной памяти (причем оно будет больше, чем место, занимает сама строка).

Мораль: не разбивайте строку в массив, если есть способ не делать этого.

В следующем коде некий программист переворачивает символы строки в обратном порядке. Оптимизируйте решение этого программиста:

<?php $str = '123345'; $rev = implode('', array_reverse(explode('', $str))); echo $rev; // выведет '54321' ?>

В следующем коде некий ищет количество слов в тексте. Оптимизируйте решение этого программиста:

<?php $str = 'aaa bbb ccc'; // некая длинная строка echo count(explode(' ', $str)); ?>
Русский
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить