아주 편하고도 유용한 함수 implode() 2009-04-28 14:44:41에 작성. 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문의 새로운 문법. 2009-04-28 14:34:40에 작성. 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;

이렇게 간단하게 바꿔줄 수 있다.