아주 편하고도 유용한 함수 implode() While이 에 작성. 843번 읽힘.
어떤 변수에 s1 s2 s3 s4 s5 s6 s7라는 글이 들어가있는 변수나 어떤 배열의 구성 요소를,
모두 나눠서 다시 s1, s3, s4, s5, s6 등으로 재결합 해주는 작업.
전 여태까지 implode() 함수의 존재를 몰라서 위와 같은 코드를 구현할 때 다음과 같이 했습니다.
$a = "s1 s2 s3 s4 s5 s6 s7 s8"; $b = explode(" ",$a); unset($c); for ($i=0;$i<sizeof($b);$i++) { $c .= $b[$i]; if ($b[$i+1]) $c .= ", "; } echo $c;
상당히 비효율적인 코드입니다. 저 글을 나눠주고, 들어갈 글이 있는 $c 변수를 나중에 다른것과 겹치지 않도록 초기화해주고, for문을 이용해 루프를 돌리며 $c에 글을 추가해주면서, 다음에 돌 변수가 존재하는가 안하는가 여부 판단후 꼬리를 붙여주는 형태입니다.
그러나 implode() 함수를 쓰면 단 한방에 끝낼 수 있습니다.
$a = "s1 s2 s3 s4 s5 s6 s7 s8"; $b = explode(" ",$a); $c = implode(", ",$b); echo $c;
implode() 함수가 어떤 구조인지는 모르겠지만, 적어도 직접 함수 하나를 만들어 쓰는 것 보다는 더 효율적일겁니다. 상당히 유용한 함수.
if문의 새로운 문법. While이 에 작성. 822번 읽힘.
난 항상 if문을 코딩할 땐
if ($a == "a") echo "test"; else echo "test2";
라던가
if ($a == "a") { echo "test"; } else { echo "test2"; }
로 쓰곤 했다.
그러나 얼마전 한줄로 여러 명령을 쓰고 싶은데 { } 를 안쓰고 어떻게 방법이 없을까 하고 찾아보다가 이렇게 새로운 문법을 발견했다.
if ($a == "a"): echo "test"; exit; else: echo "test2"; echo "test3"; endif; echo "EOF";
이렇게 { } 가 없이 간단한 if문을 작성할땐 이런 문법이 쓰일 수 있다.
{}이 없고 : 과 endif; 가 생겼다.
이 문법은 이럴때 편하게 쓰일 수 있다.
if ($a == "a") { echo "test"; myfunc($a); exit; }
이와같이 별 내용도 없는 주제에 괜히 몇줄이나 잡아 먹고 있는놈을
if ($a == "a"): echo "test"; myfunc($a); exit; endif;
이렇게 간단하게 바꿔줄 수 있다.
