반응형

explode()

implode()와 반대인 함수야.

 

구분자로 문자열을 잘라서 배열로 만들어주는 함수야.

 

implode(), explode() 둘다 현업에서 많이 쓰여. explode()는 진짜 많이 사용한거 같아.

 

코드부터 보자

 

코드

<?php

 // ','가 구분자로 된 문자열을 배열로 변환  
 $str1 = "사과,배,수박";   
 $arr1 = explode(",", $str1);  
 print_r($arr1);  

 echo "\n\n";

 // ':'가 구분자로 된 문자열을 배열로 변환  
 $str2 = "사과:배:수박";  
 $arr2 = explode(":", $str2);  
 print_r($arr2);

?>

결과

Array
(
    [0] => 사과
    [1] => 배
    [2] => 수박
)


Array
(
    [0] => 사과
    [1] => 배
    [2] => 수박
)

front(client)에서 구분자로 되어 있는 값을 전달 받으면 구분자로 배열로 바꿔서 사용할 때 많이 쓰여

 

java, javascript에서는 split으로 사용되는데 기능은 동일해

 

코드 복붙해서 테스트 한번해봐

 

반응형
반응형

implode()

 

현업에서 많이 사용하는 함수야. 구분자로 문자열 만들어서 DB에 저장해야 하는 경우가 있어.

 

매우 쉬우니까 코드 부터 확인 해보자

 

코드

<?php
$arr = ["사과", "배", "수박"];  
      
// ','를 구분자로 하여 배열을 문자로 변환
$str1 = implode($arr, ",");  
echo ",를 구분자로 하여 배열을 문자로 변환 : ".$str1."</br></br>";   
  
// '*'를 구분자로 하여 배열을 문자열로 변환  
$str2 = implode($arr, "*");    
echo "*를 구분자로 하여 배열을 문자열로 변환 : ".$str2;

?>

 

결과

,를 구분자로 하여 배열을 문자로 변환 : 사과,배,수박

*를 구분자로 하여 배열을 문자열로 변환 : 사과*배*수박

 

제목 그대로 배열을 구분자를 넣어서 문자열로 변환하는 함수야

 

코드 복붙해서 테스트 한번해봐

 

 

반응형
반응형

date(), strtotime()

 

개발 하면서 시간계산을 정말 많이 하게 될꺼야. 게임이던 커머스건 모든 서비스에서 시간 계산을 하게 될꺼야.

 

지금 내가 spring boot로 개발도 하고 있지만 정말 시간계산은 PHP가 최고라고 생각해.

 

DateTime Class를 많이들 사용하고 있지만 아직도 현업에서 많이 사용되는 함수야.

 

솔직히 나도 DateTime Class 보다 date나 strtotime을 많이 사용하고 있어.

 

(오래된 사람이라서???)

 

코드

<?php 
    $ts = strtotime("Now");
    echo "현재 일시 : ".date("Y-m-d H:i:s", $ts)."<br/>";

    $ts = strtotime("+1 seconds");
    echo "현재 1초 뒤 : ".date("Y-m-d H:i:s", $ts)."<br/>";

    $ts = strtotime("-1 seconds");
    echo "현재 1초 전 : ".date("Y-m-d H:i:s", $ts)."<br/>";

    $ts = strtotime("+1 minutes");
    echo "현재 1분 뒤 : ".date("Y-m-d H:i:s", $ts)."<br/>";

    $ts = strtotime("+1 hours");
    echo "현재 1시간 뒤 : ".date("Y-m-d H:i:s", $ts)."<br/>";

    $ts = strtotime("+1 days");
    echo "현재 1일 뒤 : ".date("Y-m-d H:i:s", $ts)."<br/>";

    $ts = strtotime("+1 week");
    echo "현재 1주 뒤 : ".date("Y-m-d H:i:s", $ts)."<br/>";

    $ts = strtotime("+1 months");
    echo "현재 1달 뒤 : ".date("Y-m-d H:i:s", $ts)."<br/>";

    $ts = strtotime("+1 years");
    echo "현재 1년 뒤 : ".date("Y-m-d H:i:s", $ts)."<br/>";

    $ts = strtotime("+1 years +1 months +1 days +1 hours");
    echo "현재 1년 1개월 1일 1시간 뒤 : ".date("Y-m-d H:i:s", $ts)."<br/>";

    // 기준일을 전달 하면 기준일로부터 사용가능
    $ts = strtotime("2022-01-01 11:22:33");
    echo "2022년 1월 1일 : ".date("Y-m-d H:i:s", $ts)."<br/>";

    $ts = strtotime("2022-01-01 11:22:33 +1 months");
    echo "2022년 1월 1일을 기준으로 1달 뒤 : ".date("Y-m-d H:i:s", $ts)."<br/>";
?>

 

결과

현재 일시 : 2022-09-23 15:56:54

현재 1초 뒤 : 2022-09-23 15:56:55

현재 1초 전 : 2022-09-23 15:56:53

현재 1분 뒤 : 2022-09-23 15:57:54

현재 1시간 뒤 : 2022-09-23 16:56:54

현재 1일 뒤 : 2022-09-24 15:56:54

현재 1주 뒤 : 2022-09-30 15:56:54

현재 1달 뒤 : 2022-10-23 15:56:54

현재 1년 뒤 : 2023-09-23 15:56:54

현재 1년 1개월 1일 1시간 뒤 : 2023-10-24 16:56:54

2022년 1월 1일 : 2022-01-01 11:22:33

2022년 1월 1일을 기준으로 1달 뒤 : 2022-02-01 11:22:33

 

strtotime()은 unix timestamp를 사용하여 시간계산을 도와 주는 것이고

 

date()는 우리가 원하는 포맷으로 변경해주는 역활이라 생각하면 될꺼 같아.

 

코드 복붙해서 테스트 한번해봐

 

반응형
반응형

strpos()

 

문자열에 대상하는 문자가 포함되어 있는지 체크 해주는 함수야.

 

그런데.. 사용하기전에 본인이 원하는 걸 잘 return 하는지 테스트 후 사용하길 바래

 

코드

<?php
    $tmpString = "naver kakao tistory";  
    $srhString = "tistory";  
      
    if(strpos($tmpString, $srhString) !== false) {  
        // 포함
        echo "포함";
    } else {  
        // 미포함
        echo "미포함";
    }
?>

 

결과

포함

 

문자열 포함 여부 또한 우리가 자주 사용하는 함수야. 하지만 사용 용도에 따라서 잘 써야 될꺼 같아.

 

유사한 글자가 들어가도 true 인지. 아님 완벽히 일치해야 true인지 사용하려는 용도에 따라서

 

split으로 문자열을 비교 또는 strpos로 유사한 단어 비교를 적절히 잘 사용해야해

 

코드 복붙해서 테스트 한번해봐

 

반응형

+ Recent posts