PHP Story

## 문자열 다루기
strpos("문자열", "찾을문자열") : 문자 시작하는 위치
substr("문자열", 시작번호, 길이)

mb_stristr("문자열", "자") => "자열" 발견 처음문자부터 나머지 문자열 반환


explode()
: 문자열을 분할하여 배열로 저장하는 함수 
explode ( delimiter, string [, limit ] )
$a = '1 2 3';
$result = explode(' ', $a);
=> $result[0] = 1




## Foreach 사용법
foreach($e_list as $row)
{
    echo $row."<br/>";
}
foreach($e_list as $key => $value)
{
    echo $key." : ".$value."<br/>";
}


## 객체
$objTest = new stdClass();
$objTest->name = "name!!";

// echo $objTest->name;
$objTest2 = new stdClass();
$objTest2->objTest2 = $objTest;
echo $objTest2->name;
// echo $objTest2->objTest2->name;

unset($objTest);
unset($objTest2);



=> stdClass 
: 문자열인덱스 배열 구조
: PHP에서 일반적으로 쓰이는 빈 클래스 (Java, Python의 object와 유사함)
: 익명 오브젝트 만들거나 동적 속성 지정할때 사용


배열 stdclass <-> array 변환
ex) a->val = "value";
or
stdClass 는 Json 으로 사용
스크립트에서 ajax 사용시 넘기는 데이터 타입 json 지정
=> stdClass로 넘어감
(일반 배열로 변환 시, json_decode($aa,true)로 선언)

외부소스

변수관련 함수
데이터형을 반환 : gettype(변수명);
데이터형 변경 : settype(변수명, "데이터형");
변수의 값존재 여부 확인 : empty(변수명);
변수 제거 : unset(변수명);

정수형으로 변환 : intval(변수명);
실수형으로 변환 : floatval(변수명);, doubleval(변수명);
문자열로 변환 : strval(변수명);

데이터형 확인하기
배열인지 확인 : is_array(변수명);
논리형인지 확인 : is_bool(변수명);
실수인지 확인 : is_float(변수명);, is_double(변수명);, is_real(변수명);
정수인지 확인 : is_int(변수명);, is_integer(변수명);, is_long(변수명);
NULL인지 확인 : is_null(변수명);
숫자로 이루어진 문자열인지 : is_numeric(변수명);
객체인지 확인 : is_object(변수명);
자원인지 확인 : is_resource(변수명);
스칼라값인지 확인 : is_scalar(변수명);
문자열인지 확인 : is_string(변수명);

배열 관련 함수
배열 생성 : array();
배열의 크기 얻기 : sizeof(), count()


배열 포인터 함수
현재 포인터가 가리키고 있는 요소 얻기 : current(배열명);
포인터를 배열의 첫 번째 요소로 이동 : reset(배열명);
포인터를 앞으로 이동 : next(배열명);
포인터를 뒤로 이동 : prev(배열명);
포인터를 배열의 마지막 요소로 이동 : end(배열명);

배열 정렬
sort(배열명);
sort(배열명, SORT_NUMERIC);
sort(배열명, SORT_STRING);
값을 기준으로 배열 정렬 : asort(배열명);
키값을 기준으로 정렬 : ksort(배열명);
내림차순의 정렬은 rsort(), krsort(), arsort() 사용
다차원 배열 정렬 : array_multisort();
영문숫자 순 정렬 : natcasesort();
영문숫자 순 정렬 : natsort();
값을 기준으로 정렬 : usort();
키값을 기준으로 정렬 : uksort();
인덱스 연관성을 유지한 채 배열 정렬 : uasort();
무작위 배치 : shuffle(배열명);

문자열 관련 함수
문자열의 크기(byte) 얻기 : strlen(변수명);
문자열의 길이 얻기 : mb_strlen(변수명, "인코딩방식");
문자열비교(대소문자포함) true시 0 반환 : strcmp("문자열", "문자열");
문자열비교(대소문자X) true시 0 반환 : strncasecmp("문자열", "문자열");

특정 문자열 검색
포함하는 부분부터 반환(앞에서부터) : strstr("문자열", "찾을문자열");
포함하는 부분부터 반환(앞에서부터)(대소문자X) : stristr("문자열", "찾을문자열");
포함하는 부분부터 반환(뒤에서부터) : strrchr("문자열", "찾을문자열");

특정 문자열 위치 얻기(앞에서부터) : strpos("문자열", "찾을문자열");
특정 문자열 위치 얻기(뒤에서부터) : strrpos("문자열", "찾을문자열");

문자열 자르기
앞에서부터 ?번째 글자까지 자르기 : substr("문자열", 값);
뒤에서부터 ?번쨰 글자까지 자르기 : substr("문자열", -값);
기준문자부터 ?번쨰 글자까지 자르기 : substr("문자열", 기준값, 값);

문자열 대소문자 바꾸기
소문자로 바꾸기 : strtolower("문자열");
대문자로 바꾸기 : strtoupper("문자열");
첫 번째 문자만 대문자로 바꾸기 : ucfirst("문자열");
각 단어의 첫 번쨰 문자만 대문자로 바꾸기 : ucwords("문자열");

문자열 나누기
특정 문자를 기준으로 문자를 나누어 배열로 저장 : explode('기준문자', 변수명);
특정 문자를 기준으로 문자를 합침 : implode('기준문자', 배열명);
특정 문자를 기준으로 문자를 토큰화 : strtok("문자열", '기준문자');

특정 문자 변경하기
문자열에 모든 특정 문자 변경 : str_replace('찾을문자', '변경할문자', "문자열");
특정 위치부터 문자 변경(앞에서부터) : substr_replace("문자열", '변경할문자', 시작위치값);
특정 위치부터 문자 변경(뒤에서부터) : substr_replace("문자열", '변경할문자', -시작위치값);
특정 위치부터 특정 위치까지 문자 변경 : substr_replace("문자열", '변경할문자', 시작위치값, 끝위치값);

공백 제거 trim(); 사용
좌측 공백 제거 : "".ltrim("문자열");
우측 공백 제거 : "".rtrim("문자열");
좌우측 공백 제거 : "".trim("문자열");

날짜 관련 함수
현재 날짜 얻기 : date("Y/m/d H:i:s");
현재 시간을 배열로 얻기 : getdate();
ex) $array = getdate();
$array[hours].$array[minutes].$array[seconds];
초 : seconds
분 : minutes
시간 : hours
일 : mday
요일 : wday
월 : mon
연도 : year
요일을 문자열로 : weekday
월을 문자열로 : month

수학 관련 함수
가장 큰 값 얻기 : max(값, 값, 값);
가장 작은 값 얻기 : min(값, 값, 값);
내림 : floor(값);
올림 : ceil(값);
반올림 : round(값);
절대값 : abs(값);
랜덤값얻기(0~32767[getrandmax()]) : rand();
랜덤값 범위로 얻기(0~값-1) : rand()%값
[출처] PHP 자주사용하는 함수|작성자 도란도란

SQL

select a.userid, b.money
    from usertable as a
        join banktable as b
            on a.userid=b.userid

기타 참고

https://www.cikorea.net/user_guide_2.1.0/

Subscribe to Keun's Story newsletter and stay updated.

Don't miss anything. Get all the latest posts delivered straight to your inbox. It's free!
Great! Check your inbox and click the link to confirm your subscription.
Error! Please enter a valid email address!