PHPINFO

PHP 문자열 배열로 변환, 배열을 문자열로 변환 본문

PHP

PHP 문자열 배열로 변환, 배열을 문자열로 변환

2016. 6. 21. 15:49

PHP 개발을 문자열을 배열로 변환하거나, 또는 배열을 문자열로 변환해서 처리하는 경우가 있다. 



예1) 문자열을 배열로 변환

$str = 'apple,mango,tomato,banana';

$str_arr = explode(',', $str);


echo '<pre>';

var_dump($str_arr);

echo '</pre>';


[결과] 아래와 같이 배열로 성공적으로 변환된 것을 볼 수 있다.

array(4) {
  [0]=>
  string(5) "apple"
  [1]=>
  string(5) "mango"
  [2]=>
  string(6) "tomato"
  [3]=>
  string(6) "banana"
}

예2) 공백(스페이스)을 포함하는 문자열을 배열로 변환 

$str = 'apple, mango, tomato,   banana';

$str_arr = explode(',', $str);


echo '<pre>';

var_dump($str_arr);

echo '</pre>';


[결과] 아래와 같이 배열로 성공적으로 변환되었지만, 각 요소들을 보면 공백(스페이스) 그대로 포함되어 있다.

array(4) {
  [0]=>
  string(5) "apple"
  [1]=>
  string(6) " mango"
  [2]=>
  string(7) " tomato"
  [3]=>
  string(9) "   banana"
}

예3) 앞뒤 콤마를 포함하는 문자열을 배열로 변환 

$str = ',apple, mango, tomato,   banana,';

$str_arr = explode(',', $str);


echo '<pre>';

var_dump($str_arr);

echo '</pre>';


[결과] 아래와 같이 배열로 성공적으로 변환되었지만, 배열 첫 번째 요소와 마지막 요소에 빈 값이 들어가 있다.

array(6) {
  [0]=>
  string(0) ""
  [1]=>
  string(5) "apple"
  [2]=>
  string(6) " mango"
  [3]=>
  string(7) " tomato"
  [4]=>
  string(9) "   banana"
  [5]=>
  string(0) ""
}


예4) 문자열에서 공백 및 앞뒤 콤마(,)를 제거하여 배열로 변환 

$str = ',apple, mango, tomato,   banana,';

$str = trim($str); // 문자열 앞 뒤 공백 제거

$str = ltrim($str,','); // 문자열 맨 앞 콤마(,) 제거

$str = rtrim($str,','); // 문자열 맨 마지막 콤마(,) 제거

$str = str_replace(array("\r\n","\r","\n"),'',$str); // 개행문자 제거

$str_arr = array_map('trim', explode(',', $str)); //문자열을 배열로 변환 & 각 배열요소 트림(trim) 처리


echo '<pre>';

var_dump($str_arr);

echo '</pre>';


[결과] 아래와 같이 배열로 성공적으로 변환되었다.

array(4) {
  [0]=>
  string(5) "apple"
  [1]=>
  string(5) "mango"
  [2]=>
  string(6) "tomato"
  [3]=>
  string(6) "banana"
}


배열을 문자열로 변환하는 것은 예4)에서 처리된 배열을 implode 함수를 이용해서 처리하면 된다.

$str = implode(',', $str_arr);


var_dump($str);



[결과] 아래와 같이 배열로 성공적으로 변환되었다.

string(25) "apple,mango,tomato,banana"

경우에 따라서는 예2) 예3) 도 필요한 경우가 있지만, 예4 처럼 공백 및 앞 뒤의 콤마를 제거하여 배열로 변환하는 처리가 더 필요할 것 같아서 정리해보았다~.


0 Comments
댓글쓰기 폼
Prev 1 2 3 4 5 6 7 Next