old

str_replace != $original

조회 수 51 댓글 6
str_replace(찾을 문자열, "", 원문) != 원문

저는 문자열 내에 특정 문자열이 포함되는가를 찾기 위해 이 방법을 사용하는데요.
(기억력이 안좋아서.. 함수명이 기억이 안나요ㅠ)

이런 방식은 성능에 문제가 있으려나요?
  • ?
    후하니 2017.01.03 11:15:37

    단순히 문자열 포함 체크는 흔히 strlen 함수를 사용하지 않나요?

  • profile
    레믹스 2017.01.03 11:16:18
    strlen은 문자열 길이 아닌가요?
  • ?
    후하니 2017.01.03 11:24:12

    앗 잘못적었네요
    strpos네요 ㅋㅋ;

     

    최적화는 임베디드처럼 사소한 최적화가 매우 중요시되지 않는 이상 크게 문제 없을겁니다

  • profile
    레믹스 2017.01.03 11:17:54
    PHP에 strpos 함수가 있긴 한데.. instr이라는 이름이 제 뇌에 각인이 되어서....
    매치가 안되다보니 다시 찾아보기 귀찮아서 그냥 저렇게 씁니다ㅠㅠ
  • profile
    prologos 2017.01.03 11:19:26
    저는 strpos사용합니다.
    if(strpos($원문, $찾을문자열) !== false)
    echo '있군요'
  • profile
    기진곰 2017.01.03 11:33:41

    저렇게 하면 불필요한 치환 작업을 하기 때문에 성능이 좋지 않습니다.

    물론 원문의 분량이 얼마 안 된다면 상관없겠지만...

     

    라이믹스를 사용하신다면 starts_with, ends_with, contains 함수도 있습니다.

    if(starts_with('곰', '곰탱이'))

    if(ends_with('믹스', '레믹스'))

    if(contains($찾을문자열, $원문))


서버에 요청 중입니다. 잠시만 기다려 주십시오...