반응형
프로그램에서 문자열 처리는 대단히 많이 사용되는 부분이다.
문자열의 끝 문자만 자르는 경우의 사용이 매우 많이 사용된다.
가장 마지막 글자만 없애기
$peoples = "1,2,3,"
$peoples = substr($peoples, 0, -1);
//결과 - 마지막 ,(컴마) 삭제
1,2,3
<?php
$rest = substr("abcdef", -1); // returns "f"
$rest = substr("abcdef", -2); // returns "ef"
$rest = substr("abcdef", -3, 1); // returns "d"
?>
이 경우, 500 (Internal Server Error)가 발생할 수 있습니다.
(해결 방법) 아래의 방법으로 하면 해결 됩니다.
$peoples = "1,2,3,"
$peoples = substr($peoples, 0, strlen($peoples)-1);
참고: 어떤 곳은 mb_substr($sting, $start, $length, $encoding)를 하면 된다고 하는데, 저의 경우 500에러가 또 발생.
두 함수의 차이는 substr()는 single byte로 자르고, mb_substr은 multi byte로 자른다고 합니다.
string substr ( string $string , int $start [, int $length ] )
- 주어진 문자열에서 시작부분에서 지정된 길이만큼 문자열 반환 (PHP4, PHP5)
- 입력 문자열은 1글자 이상이여 한다
- start는 0부터 시작하며, 음수(-)일경우 문자열 끝에서 -1부터 시작해서 문자열 끝까지 반환
- length가 음수일경우 문자열 끝을 -1위치로 하여 시작된 위치부터 length 위치까지를 반환
explode
문자형을 분리하는 함수 (Split a String by String)
array explode ( string $delimiter
, string $string
[, int $limit
] )
예제
<?php
// Example 1
$pizza = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode(" ", $pizza);
echo $pieces[0]; // piece1
echo $pieces[1]; // piece2
// Example 2
$data = "foo:*:1023:1000::/home/foo:/bin/sh";
list($user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data);
echo $user; // foo
echo $pass; // *
// Example 1
$pizza = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode(" ", $pizza);
echo $pieces[0]; // piece1
echo $pieces[1]; // piece2
// Example 2
$data = "foo:*:1023:1000::/home/foo:/bin/sh";
list($user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data);
echo $user; // foo
echo $pass; // *
?>
반응형
'WEB언어 > PHP' 카테고리의 다른 글
PHP 5.x 에서 PHP 7으로 업그레이드시 작업 (0) | 2017.06.15 |
---|---|
PHP 다음달 구하기 mktime(0,0,0,date("m")+1,15,date("Y"))) (2) | 2016.08.01 |
(PHP) HTML tag 제거 + 특정 HTML tag 허가(Allow) (0) | 2016.02.12 |
time — Return current Unix timestamp (0) | 2015.04.29 |
php money_format 변환 - 미국 형식 화폐 / MySQL 일자포멧 / 요일확인 (0) | 2014.10.23 |
php + mysql 웹 페이지 한글 깨짐 현상 처리 (0) | 2014.10.22 |
[PHP] DB값 날짜 변경하기 / 나이 계산 (0) | 2014.05.25 |
[php] regular expression - filter number only (0) | 2014.05.25 |
도움이 되셨다면 하트모양의 "♡ 공감"을 눌러주시면 큰 격려가 됩니다.
(로그인하지 않으셔도 가능)
(로그인하지 않으셔도 가능)