php 문자열 길이 length

php 문자열의 길이를 구하는 방법에 대해 알아보겠습니다.
문자열 함수 strlen, mb_strlen을 사용하여 문자열의 길이를 구할 수 있습니다.

  • strlen: 대상 문자열의 길이를 반환합니다.
  • mb_strlen: 대상 문자열의 길이를 반환합니다.
  • iconv_strlen: 대상 문자열의 문자의 갯수를 반환합니다.

- strlen

대상 문자열의 길이를 반환합니다.

Syntax: strlen ( string $string )

<?php $str = 'php world.'; $length = strlen($str); echo $length; // output: 10 $str = '안녕하세요'; $length = strlen($str); echo $length; // output: 15 ?>

안녕하세요는 문자열의 길이 5를 예상했는데 15라는 엉뚱한 결과가 나왔습니다.

NOTE: strlen은 문자열의 character의 길이가 아닌 Byte의 길이를 반환합니다.
우리가 원하는 값을 얻기 위해서는 mb_strlen을 사용해야 합니다.


- mb_strlen

대상 문자열의 길이를 반환합니다.

Syntax: mb_strlen ( string $str [, string $encoding = mb_internal_encoding() ] )

<?php $str = 'php world.'; $length = mb_strlen($str, 'utf-8'); echo $length; // output: 10 $str = '안녕하세요'; $length = mb_strlen($str, 'utf-8'); echo $length; // output: 5 ?>

INFO: $encoding을 입력하여 원하는 문자열의 길이를 얻을 수 있습니다.


- iconv_strlen

대상 문자열의 문자의 갯수를 반환합니다.

Syntax: iconv_strlen ( string $str [, string $charset = ini_get("iconv.internal_encoding") ] )

<?php $str = 'php world.'; $length = iconv_strlen($str); echo $length; // output: 10 $str = '안녕하세요'; $length = iconv_strlen($str, 'utf-8'); echo $length; // output: 5 ?>

INFO: $charset을 입력하여 원하는 문자열의 길이를 얻을 수 있습니다.


- [php] - php 문자열 찾기




'php' 카테고리의 다른 글

php 문자열 찾기  (0) 2021.01.06

php 문자열 찾기

php 문자열 함수에서 문자열을 찾는 함수에 대해 알아보겠습니다.
문자열 함수 strpos, stripos, strstr을 사용하여 문자열을 찾을 수 있습니다.
정규식 패턴을 이용하는 reg_match, reg_match_all을 사용하여 문자열을 찾을 수 있습니다.

  • strpos: 찾는 문자열에서 첫번째로 매칭된 position 값을 반환합니다.
  • stripos: 찾는 문자열에서 첫번째로 매칭된 position 값을 반환합니다.(대소문자를 구분하지 않습니다.)
  • strstr: 찾는 문자열이 존재하면 찾는 문자열을 포함한 나머지 문자열을 반환합니다.
  • reg_match: 정규식 패턴을 이용하여 일치하는 첫번째 문자열을 찾습니다.
  • reg_match_all: 정규식 패턴을 이용하여 일치하는 모든 문자열을 찾습니다.

- strpos

대상 문자열에서 찾는 문자열의 시작 위치(position)를 반환합니다.

<?php $str = 'hi hi, welcome to the php world.'; $find = 'php'; $pos = strpos($str, $find); echo $pos; // output: 22 $find = 'welcome'; $pos = strpos($str, $find); echo $pos; // output: 7 $find = 'hello'; $pos = strpos($str, $find); echo var_dump($pos); // output: bool(false) ?>

INFO: 문자열이 존재하지 않는 경우 false를 반환합니다.


- stripos

대상 문자열에서 찾는 문자열의 시작 위치(position)를 반환합니다.
대소문자를 구분하지 않습니다.

<?php $str = 'hi hi, welcome to the php world.'; $find = 'WORld'; $pos = stripos($str, $find); echo $pos; // output: 26 $find = 'WeLcOmE'; $pos = stripos($str, $find); echo $pos; // output: 7 ?>

INFO: strpos와 stripos의 차이대소문자를 구분하느냐 하지 않느냐의 차이입니다.


- strstr

찾는 문자열이 존재하면 찾는 문자열을 포함한 나머지 문자열을 반환합니다.

Syntax: strstr ( string $haystack , mixed $needle [, bool $before_needle = FALSE ] )

<?php $str = 'hi hi, welcome to the php world.'; $find = 'to'; $pos = strstr($str, $find); echo $pos; // output: to the php world. $find = 'to'; $pos = strstr($str, $find, true); echo $pos; // output: "hi hi, welcome " ?>

INFO: $before_neelde = true로 하면 문자열의 처음부터 일치하는 문자열을 제외한 문자열을 반환합니다.


- preg_match

정규식 패턴을 이용하여 대상 문자열에서 일치하는 문자열을 찾습니다.
일치하는 문자를 찾은 경우 더 이상 검색하지 않습니다.

preg_match: preg_match ( string $pattern , string subject [, array &matches [, int $flags = 0 [, int $offset = 0 ]]] )
검색된 결과를 $matches 배열 변수에 반환합니다.

<?php $str = 'hi hi, welcome to the php world.'; preg_match('/(hi)|(welcome)/', $str, $matches); print_r($matches); // print // Array // ( // [0] => hi // ) ?>

INFO: 일치하는 값을 찾는 경우 더 이상 검색하지 않고 바로 결과를 반환합니다.
모든 값을 찾고 싶은 경우 preg_match_all을 사용할 수 있습니다.


- preg_match_all

정규식 패턴을 이용하여 대상 문자열에서 일치하는 모든 문자열을 찾습니다.

preg_match_all: preg_match_all ( string $pattern , string subject [, array &matches [, int $flags = PREG_PATTERN_ORDER [, int $offset = 0 ]]] )
검색된 결과를 $matches 배열 변수에 반환합니다.

<?php $str = 'hi hi, welcome to the php world.'; preg_match_all('/hi/', $str, $matches); print_r($matches); // print // Array // ( // [0] => Array // ( // [0] => hi // [1] => hi // ) // ) ?>

INFO: 정규식 flag //g 를 적용한 결과를 볼 수 있습니다.


php 문자열 함수, php 문자열 찾기, php 문자열 검색, php 문자 찾기, php 문자 검색, php 문자 갯수, php 문자열 정규식


'php' 카테고리의 다른 글

php 문자열 길이 length  (0) 2021.01.06

+ Recent posts