$str = " 홍길동 ";
echo trim($str);
출력해보면 공백이 제거된채로 "홍길동"이라고만 나온다 rtrim이나 ltrim으로 하면 오른쪽 공백이나 왼쪽공백 제거가 가능하지만 많이쓰진 않는다
echo strtoupper("asdffe")
결과 => "ASDFFE"
echo strtoupper("asdDEE")
결과 => "ASDDEE"
echo str_replace("cd","","abcdefg");
출력 => "abefg"
$str = "홍길동갑순이";
echo mp_substr($str, 1, 4)"\n";
echo mp_substr($str,2);
출력 => 길동갑순
동갑순이
$str = "나는 홍길동 입니다.";
echo mp_strpos($str,"홍");
결과 => 3
(만약 같은글자가 있는경우 왼쪽에서 젤 첫번째를 알려준다)
if(mb_strpos($str,"ㄴ")){
echo "포함됨";
}
else {
echo "없음"."\n";
}
결과 => 없음
$base_msg = "%s이/가 틀렸습니다.";
$print_msg = sprintf($base_msg, "비밀번호");
echo $print_msg."\n";
결과 => 비밀번호이/가 틀렸습니다.
$ans1 = "";
$ans2 = NULL;
$ans3 = 0;
$ans4 = [];
var_dump(isset($ans1), isset($ans2), isset($ans3), isset($ans4), empty($ans5));
결과 => bool(true) bool(false) bool(true) bool(true) bool(true)
var_dump(empty($ans1), empty($ans2), empty($ans3), empty($ans4),empty($ans5));
결과 => bool(true) bool(true) bool(true) bool(true) bool(true)
$str1 = "abc";
$int1 = 5;
$arr1 = [];
$double1 = 1.4;
$boo = true;
$null1 = NULL;
$obj = new DateTime();
var_dump(gettype($str1), gettype($int1), gettype($arr1), gettype($double1), gettype($boo),gettype($null1),gettype($obj));
결과 => string(6) "string" string(7) "integer" string(5) "array" string(6) "double" string(7) "boolean" string(4) "NULL" string(6) "object"
$i = 3;
$i2 =(string)$i;
var_dump($i, $i2);
위에 예제를 보면 $i가 글자로 변하진 않는다
$i = 3;
$i2 = settype($i, "string"); // 출력된걸 보면 변환에 성공했기때문에 bool true가 나옴
var_dump($i, $i2);
위에 예제로 보면 변환된걸 확인할수있다
echo time();
echo time()-86400; // 하루전 날짜 획득
결과 => 1710750367 1710663967
echo date("Y-m-d H:i:s", time()); // 2000-01-01 13:50:06 한달전은 계산 잘 안될수도있음
결과 => 2024-03-18 17:26:07
var_dump(ceil(1.4), round(2.5), floor(1.9));
결과 => 2 3 1
echo random_int(1, 10);
결과 => 출력할때마다 매번 1~10사이의 랜덤숫자가 출력된다
개발자가 필요로 하는 기능을 가진 함수가 없다면, 직접 함수를 만들 수도 있습니다.
이런 함수를 사용자 정의 함수라고 하며, 반복해서 수행해야 하는 작업이 있다면 함수로 만들어서 사용하는 것이 좋다
예시
function my_sum($num1, $num2){ // $num1,2 :매개변수
return $num1 + $num2;
}
echo my_sum(32, 54); // 함수호출
/**
* 두 숫자를 더하는 함수
*
* @param int $num1 더할 첫번째 숫자
* @param int $num2 더할 두번째 숫자, default 10
* @return int 합계
*/
function my_sum2(int $num1, int $num2 = 10){
return $num1+ $num2;
}
$num2에는 10이라는 default값이 들어갔다 그리고 위에 주석으로 함수에 관한 설명을 적어두면 my_sum2란곳에 마우스를 올리면 두 숫자를 더하는 함수라고 설명이 나온다
function test(string $str){
$str = "test()에서 변경"; // 이 $str은 이안에서 쓸수잇음
}
$str = "처음 정의"; // 이 $str은 전역 함수 위에꺼랑 아애 다른거
test($str); // 처음 정의
echo $str; // 처음 정의
test란 함수 안에 있는 $str이랑 밖에 있는 $str이랑은 다른 별개라서 출력해보면 "처음 정의"라고 나온다 만약 안에 있는 함수를 밖에서 출력하고 싶다면
function test2(string $str){
$str = "test2()에서 변경";
return $str;
}
$str = test2($str);
echo $str;
이런식으로 하면 된다
function my_sum_all(...$numbers){
print_r($numbers);
}
my_sum_all(3,5,2);
결과 =>
Array
(
[0] => 3
[1] => 5
[2] => 2
)
배열로 출력이 되고
만약 옛날 버전이라서 ...를 못쓴다면
$numbers = func_get_args(); 이거를 써주면 똑같이 된다
// 파라미터로 받은 모든 수를 더하는 함수를 만들어 주세요
function my_sum_all2(...$numbers){
$sum = 0; // 합계 저장용 변수, 합계를 저장하기 때문에 숫자 0으로 초기화
// 파라미터 루프해서 값을 획득 후 더하기
foreach($numbers as $val){
$sum += $val ;
}
//합계리턴
return $sum;
}
function test_v($num) {
$num = 3;
}
function test_r(&$num) { // & 참조전달로써 쓰겟다라는 의미
$num = 5;
}
$num = 0;
test_r($num);
echo $num;
$a = 1;
$b = &$a;
$a = 3;
echo $b;
결과 => 3