IT 공부/PHP

2020-12-02 PHP 공부정리

JONGI-N CHOI 2020. 12. 2. 11:57

strlen

문자열의 길이를 구하는 함수

 

strlen(string)


 

mb_strlen

mb_strlen( string [, encoding] )

 

encoding : 인코딩 방식을 정합니다. 정하지 않으면 문서의 인코딩 방식을 사용합니다.

echo mb_strlen( '가나다', 'euc-kr' );

는 6을 출력한다.

echo mb_strlen( '가나다', 'utf-8' );

는 3을 출력한다.

 

 

strlen()은 바이트 기준, mb_strlen()은 문자셋 기준입니다. 한글 등에서는 값이 다릅니다.

 


explode

특정 구분자로 구분되어 있는 문자열을 구분자를 기준으로 나누어 배열로 변환해 주는 함수

explode( 경계 문자열, 나눌 문자열, 제한 갯수)

 


implode

함수는 배열의 값들을 특정 구분자를 사용하여 문자열로 변환해 주는 함수

 

implode( 경계 문자열, 연결할 배열, 제한 갯수)

 

 


아스키코드 변환(chr/ ord)

chr

아스키코드 번호를 받아 해당하는 문자열을 리턴해주는 함수 

chr(아스키코드번호)

 

ord

문자열의 첫번째 문자에 해당하는 아스키도르를 리턴해주는 함수입니다.

ord(문자열)

참고사이트

m.blog.naver.com/PostView.nhn?blogId=diceworld&logNo=220211534175&proxyReferer=https:%2F%2Fwww.google.com%2F


array_map

배열의 각 원소에 원하는 함수를 적용해주는 함수

 

array_map( callback_function, array1 [, array2 ...] );

 

$trimmed = array_map( 'trim', array1 )

$trimmed 에는 array1 의 각 원소가 앞, 뒤 공백이 제거된 배열이 저장됩니다.


문자열 안에 특정 문자 갯수 찾기

substr_count(문자열, 특정문자)

예 

$str = "a|b|c|d";
echo substr_count($str, "|");

는 결과 값은 3이다.


소수점 처리(ceil, floor, round)

ceil

올림

floor

버림

round

반올림

$num = 25.6;
ceil($num);  // 결과 : 26

floor($num); // 결과 : 25

round($num); // 결과 : 26

변수의 값을 확인하는 방법

isset

isset(확인할 변수명);

empty

empty(확인할 변수명);

 

isset()함수는 변수에 값이 있고 없음을 불리언(boolean)값으로 반환해주며 만약 갑이 존재하며 null값이 아니라면 true를 반환합니다. empty()함수는 존재하는 값이 없거나 변수의 값이 0 또는 false, null값일 경우에는 true를 반환하게 됩니다.

 


array_push()

배열의 끝에 하나 이상의 원소를 넣는다

<?php
    $list_data = array("book1", "book2");
 
    // 배열에 "book3" 추가
    array_push($list_data, "book3");
 
    // 배열에 "book4" ~ "book5" 추가
    array_push($list_data, "book4", "book5");
 
    // 출력
    print_r($list_data);
?>

참고사이트

chongmoa.com/php/748


is_array

배열인지 아닌지를 판단 배열이면 1 출력, 아니면 0출력

if(is_array($list) == 1) {

	echo "$list은 배열입니다.";

} else {

	echo "$list은 배열이 아닙니다.";

}

 

 


배열 정렬함수

sort() - 배열을 정렬합니다. 보통 정렬한다는 의미는 1,2,3처럼 오르차순으로 정렬하는 것입니다.
rsort() - 배열을 역순으로 정렬합니다. 그래서 reverse의 약자 r이 sort앞에 추가되었네요.
asort() - Associative Arrays(키 값, 내용 배열)을 내용 기준으로 오름차순으로 정렬합니다.
ksort() - Associative 배열에서 asort가 내용을 기준으로 했다면 ksort는 키 값을 기준으로 정렬합니다.


출처: https://blogchannel.tistory.com/111

 


 

foreach 문 

1. Value만 가져오는 경우

foreach($array as $value)

2. Key와 Value를 가져오는 경우

foreach($array as $key => $value)

 

echo 줄바꿈

echo "<br/>"; 

원래 echo 문안에 html 태그를 이용해서 줄바꿈 가능한 것으로 알고있는데, 갑자기 이게 동작을 안해서 다른 방법을 찾아서 했다.

 

"\n"

echo "ABC\nABC";

결과값

ABC
ABC

문자 자릿수 채우기

str_pad

함수는 문자열을 지정한 길이가 되도록 다른 문자열로 채우는 함수입니다.

 

사용법
str_pad( 문자, 총자릿수 , 채울 문자, pad_type = STR_PAD_RIGHT )

 

<?php
$input = "10";
echo str_pad($input, 10)."<br/>";                      
echo str_pad($input, 10, "-=", STR_PAD_LEFT)."<br/>";  
echo str_pad($input, 10, "_", STR_PAD_BOTH)."<br/>";   
echo str_pad($input, 6 , "___")."<br/>";               
echo str_pad($input, 3, "0", STR_PAD_LEFT)."<br/>";  
?>

결과값

10        

-=-=-=-=10

____10____

10____

010

 

출처 : extbrain.tistory.com/11


원소의 범위를 가지는 배열 생성

range

array range ( mixed $low , mixed $high ,  number $step  )

원소의 범위를 가지는 배열을 만들 수 있습니다

 

print_r(range(0,3));

결과

Array
(
    [0] => 0
    [1] => 1
    [2] => 2
    [3] => 3
)
print_r(range(0,100,10));

결과

Array
(
    [0] => 0
    [1] => 10
    [2] => 20
    [3] => 30
    [4] => 40
    [5] => 50
    [6] => 60
    [7] => 70
    [8] => 80
    [9] => 90
    [10] => 100
)

strpos

strpos(비교할 문자열,  찾을 문자열)

 

$string = "asds";
$test = "s";
$result = strpos($string, $test);

var_dump($result);

해당 문자가 포함되어 있는 위치를 정수로 반환합니다.

 

없을 경우에는 false를 반환한다. 

if ($result === false) {
    echo "'$test' 문자열을 '$string' 문자열에서 찾지 못했습니다.";
  } else {
    echo "'$test' 문자열을 '$string' 문자열에서 찾았습니다.";
    echo "위치 $result 존재합니다.";
  }

이런 식으로 응용할 수 있다. 

이때, 논리 False로 취급할 수 있는 0을 반환할 수 있기 때문에 "===연산자"를 사용해야 한다.

 

참고 사이트 :m.blog.naver.com/PostView.nhn?blogId=crehacktive3&logNo=221008246734&proxyReferer=https:%2F%2Fwww.google.com%2F


배열 삭제 방법

array_splice

 

  • 배열을 잘라내는 기능을 이용하여 값을 삭제
  • 1개 값만 삭제하거나 연속하는 값을 삭제할 때 유용
$target = array('a', 'b', 'c');

//삭제실행
$split = array_splice($target, 1, 1);

//삭제결과
var_dump($target);/*array(2) { [0]=> string(1) "a" [1]=> string(1) "c" }*/

//인수로 전달한 값도 갱신되어 있다
var_dump($split);/*array(1) { [0]=> string(1) "b" }*/

 

unset , array_values

 

  • 배열을 지정하여 unset으로 삭제하는 방법
  • 복수의 값의 삭제에 유용
  • unset으로 삭제하는 것 만으로는 index가 갱신되지 않으므로 array_values로 index를 채움
$target = array('a', 'b', 'c');

//삭제실행
unset($target[1]);

//실행결과
//index의 1을 삭제했기 때문에 index 번호가 이어지지 않는다
var_dump($target);/*array(2) { [0]=> string(1) "a" [2]=> string(1) "c" }*/

//index 채우기
$target = array_values($target);

//index의 결번이 채워져 번호가 이어진다.
var_dump($target);/*array(2) { [0]=> string(1) "a" [1]=> string(1) "c" }*/

 

array_diff

array_diff는 제1 인수의 배열과 제2 인수 이후의 배열을 비교하여 제1인수의 요소 중 다른 배열에는 존재하지 않는 값만 반환한다.


index가 갱신되지 않으므로 array_values로 index를 채움

$target = array('a', 'b', 'c', 'd', 'e');

//삭제실행
$result = array_diff($target, array('c', 'e'));
//index 채우기
$result = array_values($result);

//삭제 결과
var_dump($result);/*array(3) { [0]=> string(1) "a" [1]=> string(1) "b" [2]=> string(1) "d" }*/

참고 사이트 : pikabu.tistory.com/86