⊗ppSpOtAC 83 of 83 menu

Otimização da conversão para array em PHP

Nem sempre é necessário dividir uma string em um array para fazer algo com ela.

Vejamos um exemplo. No exemplo a seguir, o autor do código verifica se há o dígito 3 na string:

<?php $str = '12345'; $arr = explode('', $str); // divide em um array if (in_array(3, $arr)) { echo 'existe'; } else { echo 'não existe'; } ?>

O autor está de parabéns - usa funções internas do PHP, em vez de escrever suas próprias soluções improvisadas.

Mas o código ainda não é ideal: não há necessidade de dividir a string em um array, pois existe uma função pronta strpos que executa a busca na string:

<?php $str = '12345'; if (strpos($str, '3') !== false) { echo 'existe'; } else { echo 'não existe'; } ?>

Por que dividir em um array é ruim aqui? Porque, primeiro, a divisão em um array consome recursos do processador, e segundo, o array resultante ocupará espaço na memória RAM (e, aliás, será mais espaço do que aquele ocupado pela própria string).

Moral: não divida a string em um array se houver uma maneira de evitar isso.

No código a seguir, um programador inverte os caracteres de uma string na ordem inversa. Otimize a solução desse programador:

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

No código a seguir, alguém busca a quantidade de palavras em um texto. Otimize a solução desse programador:

<?php $str = 'aaa bbb ccc'; // uma string longa qualquer echo count(explode(' ', $str)); ?>
Português
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nós usamos cookies para o funcionamento do site, análises e personalização. O processamento de dados é realizado de acordo com a Política de Privacidade.
aceitar todas configurar rejeitar