⊗ppSpOtAC 83 of 83 menu

Optimización de la conversión a array en PHP

No siempre es necesario dividir una cadena en un array para hacer algo con ella.

Veamos un ejemplo. En el siguiente ejemplo, el autor del código verifica si hay un dígito 3 en la cadena:

<?php $str = '12345'; $arr = explode('', $str); // dividimos en un array if (in_array(3, $arr)) { echo 'hay'; } else { echo 'no hay'; } ?>

El autor hace un buen trabajo - utiliza funciones integradas de PHP, en lugar de escribir sus propias soluciones improvisadas.

Pero el código aún no es óptimo: aquí no hay necesidad de dividir la cadena en un array, ya que existe una función integrada strpos que realiza la búsqueda en una cadena:

<?php $str = '12345'; if (strpos($str, 3) !== false) { echo 'hay'; } else { echo 'no hay'; } ?>

¿Por qué es malo dividir en un array aquí? Porque, en primer lugar, la división en un array consume recursos del procesador, y en segundo lugar, el array resultante ocupará espacio en la memoria RAM (además, será más grande que el espacio ocupado por la propia cadena).

Moraleja: no dividas una cadena en un array si existe una manera de evitarlo.

En el siguiente código, un programador invierte los caracteres de una cadena. Optimiza la solución de este programador:

<?php $str = '123345'; $rev = implode('', array_reverse(explode('', $str))); echo $rev; // mostrará '543321' ?>

En el siguiente código, alguien busca la cantidad de palabras en un texto. Optimiza la solución de este programador:

<?php $str = 'aaa bbb ccc'; // una cadena larga cualquiera echo count(explode(' ', $str)); ?>
Español
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Usamos cookies para el funcionamiento del sitio, análisis y personalización. El procesamiento de datos se realiza de acuerdo con la Política de privacidad.
aceptar todas configurar rechazar