⊗ppSpOtAC 83 of 83 menu

Ottimizzazione della conversione in array in PHP

Non è sempre necessario suddividere una stringa in un array per fare qualcosa con essa.

Diamo un'occhiata a un esempio. Nel seguente esempio, l'autore del codice verifica se nella stringa è presente la cifra 3:

<?php $str = '12345'; $arr = explode('', $str); // suddividiamo in un array if (in_array(3, $arr)) { echo 'c'è'; } else { echo 'non c'è'; } ?>

L'autore è bravo - utilizza le funzioni integrate di PHP, invece di scrivere soluzioni approssimative.

Ma il codice non è comunque ottimale: qui non c'è bisogno di suddividere la stringa in un array, poiché esiste la funzione già pronta strpos, che esegue la ricerca all'interno della stringa:

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

Perché suddividere in un array è negativo qui? Perché, in primo luogo, la suddivisione in un array consuma risorse della CPU, in secondo luogo, l'array risultante occuperà spazio nella memoria RAM (e sarà uno spazio maggiore di quello occupato dalla stringa stessa).

Morale: non suddividete una stringa in un array se esiste un modo per evitarlo.

Nel codice seguente, un programmatore inverte i caratteri di una stringa in ordine inverso. Ottimizzate la soluzione di questo programmatore:

<?php $str = '123345'; $rev = implode('', array_reverse(explode('', $str))); echo $rev; // visualizzerà '54321' ?>

Nel codice seguente, qualcuno cerca il numero di parole in un testo. Ottimizzate la soluzione di questo programmatore:

<?php $str = 'aaa bbb ccc'; // una lunga stringa qualsiasi echo count(explode(' ', $str)); ?>
Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta