기본구조
<?php
function foo($arg_1, $arg_2, /* ..., */ $arg_n) : string
{
echo "Example function.\n";
return $retval;
}
인자
<?php
function takes_many_args(
$first_arg,
$second_arg,
$a_very_long_argument_name,
$arg_with_default = 5,
$again = 'a default string', // 8버전부터 후행쉼표 사용가능
)
{
// ...
}
기본구조는 위와같다
<?php
function sum(...$numbers) {
$acc = 0;
foreach ($numbers as $n) {
$acc += $n;
}
return $acc;
}
echo sum(1, 2, 3, 4);
배열은 위처럼 받을수 있다
반환
<?php
function small_numbers()
{
return [0, 1, 2];
}
[$zero, $one, $two] = small_numbers();
// 7.1 부터 아래처럼 사용가능
list($zero, $one, $two) = small_numbers();
VOID vs NEVER
<?php
function sayHello(string $name): void
{
echo "Hello, $name";
}
$return = sayHello("John"); // result: "Hello, John"
var_dump($return);
void 는 NULL 을 리턴한다
<?php
function sayHello(string $name): never
{
echo "Hello, $name";
exit();
}
$return = sayHello("John"); // result: "Hello, John"
$return = sayHello("John"); // result: dont proc
never 는 익셉션을 주로 다루며 해당 함수의 리턴값이 없음에는 상위스택의 흐름도 진행되지 않는다
MIXED
<?php
function sayHello(mixed $name): mixed
{
return $name;
}
echo sayHello(1);
echo sayHello("John");
여러 타입을 받을수 있으며 반환도 여러타입으로 가능하다
자주쓰는 내장함수
var_dump(TRUE);
변수, 상수 상세정보 조회
$name = "test";
unset($name);
변수 제거
$val = 1;
isset($val); //false
empty($val); //true
변수 존재여부 체크
var_dump(strlen('null'));
문자열 길이
var_dump(str_contains("foobar", 'foo'));
문자열 포함
'개발 > PHP' 카테고리의 다른 글
Alpine.js 한방정리 (0) | 2024.04.11 |
---|---|
Livewire 한방 정리 (0) | 2024.04.08 |
3. 상수와 변수 (0) | 2024.03.29 |
2. 타입 (0) | 2024.03.28 |
1. 기본문법 (0) | 2024.03.28 |