⊗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 '없음'; } ?>

여기서 배열로 분할하는 것이 나쁜 이유는 무엇일까요? 왜냐하면 첫째, 배열로 분할하는 데 CPU 리소스가 소비되고, 둘째, 생성된 배열이 RAM 공간을 차지하기 때문입니다 (게다가 그 공간은 원래 문자열이 차지하는 공간보다 클 것입니다).

교훈: 다른 방법이 있다면 문자열을 배열로 분할하지 마십시오.

다음 코드에서 어떤 프로그래머가 문자열의 문자 순서를 거꾸로 뒤집습니다. 이 프로그래머의 솔루션을 최적화하세요:

<?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
우리는 웹사이트 운영, 분석 및 개인화를 위해 쿠키를 사용합니다. 데이터 처리는 개인정보 처리방침에 따라 이루어집니다.
모두 수락 설정 거부