참조 – 이 기호는 PHP에서 무엇을 의미합니까?

이게 뭐야?

이것은 PHP의 구문에 관한 질문의 모음입니다.또한 커뮤니티 위키이므로 모든 사용자가 이 목록 관리에 참여하도록 초대됩니다.

왜 이러한가?

연산자 및 기타 구문 토큰에 대한 질문은 찾기 어려웠습니다.¹
Stack Overflow의 기존 질문에 대한 링크가 있어야 하기 때문에 PHP 매뉴얼에서 콘텐츠를 복사하는 것이 아니라 참조하기가 더 쉽습니다.

주의: 2013년 1월부터 Stack Overflow는 특수 문자를 지원합니다.검색어를 따옴표로 둘러싸기만 하면 됩니다.

여기서 뭘 해야 하죠?

만약 당신이 그런 질문을 해서 누군가에게 여기를 지적받았다면, 아래의 특정 구문을 찾아보세요.PHP 매뉴얼에 링크된 페이지와 링크된 질문이 당신의 질문에 대답할 것입니다.그렇다면 답변을 상향 투표하는 것이 좋습니다.이 목록은 다른 사용자가 제공한 도움말을 대체하는 것이 아닙니다.

리스트

특정 토큰이 아래에 나열되지 않은 경우 파서 토큰 목록에서 찾을 수 있습니다.


& 비트 연산자 또는 참조


=& 레퍼런스


&= 비트 연산자


&& 논리 연산자


% 산술 연산자


!! 논리 연산자


@ 오류 제어 연산자


?: 삼진 연산자


?? Null 병합 연산자(PHP 7 이후)


?string ?int ?array ?bool ?float PHP 7.1 이후 null 반환 형식 선언


: 제어 구조, 3진 연산자, 반환 유형 선언에 대한 대체 구문


:: 스코프 분해능 연산자


네임스페이스


-> 클래스와 오브젝트


=> 어레이


^ 비트 연산자


>> 비트 연산자


<< 비트 연산자


<<< Eledoc 또는 Nowdoc


= 할당 연산자


== 비교 연산자


=== 비교 연산자


!== 비교 연산자


!= 비교 연산자


<> 비교 연산자


<=> 비교 연산자(PHP 7.0 이후)


비트 연산자


논리 연산자


~ 비트 연산자


+ 산술 연산자, 배열 연산자


+=그리고.-= 할당 연산자


++그리고.-- 연산자 증가/감소 연산자


.= 할당 연산자


. 문자열 연산자


, 함수 인수

, 변수 선언


$$ 변수


` 실행 연산자


<?= 쇼트 오픈 태그


[] 어레이(PHP 5.4 이후 짧은 구문)


<? 태그 열기 및 닫기


..이중 도트 문자 범위


... 인수 언팩(PHP 5.6 이후)


** 지수화(PHP 5.6 이후)


# 한 줄 셸 스타일의 코멘트


?-> NullSafe 오퍼레이터 호출(PHP 8.0 이후)




질문에 대한 답변



연산자 증가/감소

++증분 연산자

--감소 연산자

Example    Name              Effect --------------------------------------------------------------------- ++$a       Pre-increment     Increments $a by one, then returns $a. $a++       Post-increment    Returns $a, then increments $a by one. --$a       Pre-decrement     Decrements $a by one, then returns $a. $a--       Post-decrement    Returns $a, then decrements $a by one. 

이러한 값은 변수 앞 또는 뒤에 있을 수 있습니다.

변수 앞에 놓으면 변수에 대해 먼저 증가/감소 연산이 수행된 후 결과가 반환됩니다.변수 뒤에 입력하면 변수가 먼저 반환되고 다음으로 증분/감소 작업이 수행됩니다.

예를 들어 다음과 같습니다.

$apples = 10; for ($i = 0; $i < 10; ++$i) {     echo 'I have ' . $apples-- . " apples. I just ate one.n"; } 

라이브 예시

위의 경우++$i더 빠르기 때문에 사용합니다. $i++같은 결과를 얻을 수 있습니다.

사전 인크리먼트는 변수를 실제로 인크리먼트하고 그 후에 결과를 ‘반환’하기 때문에 조금 더 빠릅니다.포스트 인크리먼트는 특별한 변수를 생성하여 첫 번째 변수의 값을 복사하고 첫 번째 변수를 사용한 후에만 해당 값을 두 번째 변수의 값으로 바꿉니다.

단, 다음 명령어를 사용해야 합니다.$apples--먼저 현재 사과 수를 표시한 다음 사과에서 하나를 빼려고 합니다.

PHP에서 문자를 늘릴 수도 있습니다.

$i = "a"; while ($i < "c") {     echo $i++; } 

한번만z도달했다aa다음 등입니다.

문자 변수는 증분할 수 있지만 감소시킬 수 없습니다.그 경우에도 지원되는 것은 플레인 ASCII 문자(a~z 및 A~Z)뿐입니다.


스택 오버플로우 투고:




비트 연산자

뭐가 조금인데?비트는 1 또는 0을 나타냅니다.기본적으로 OFF(0) 및 ON(1)

바이트란?바이트는 8비트로 구성되며 바이트의 최고값은 255로, 이는 모든 비트가 설정되어 있음을 의미합니다.바이트의 최대값이 255인 이유를 살펴보겠습니다.

-------------------------------------------        1 Byte ( 8 bits )                    -------------------------------------------  Place Value   128  64  32  16  8  4  2  1       ------------------------------------------- 

이 1바이트의 표현

1 + 2 + 4 + 8 + 16 + 32 + 64 + 128 = 255 (1 바이트)

이해를 돕기 위한 몇 가지 예

“AND” 연산자:&

$a =  9; $b = 10; echo $a & $b; 

숫자 8이 출력됩니다. 왜일까요?그럼 표의 예를 사용해 보겠습니다.

-------------------------------------------        1 Byte ( 8 bits )                    -------------------------------------------  Place Value   128  64  32  16  8  4  2  1       -------------------------------------------        $a        0   0   0   0  1  0  0  1      -------------------------------------------        $b        0   0   0   0  1  0  1  0  -------------------------------------------         &         0   0   0   0  1  0  0  0  -------------------------------------------  

표에서 볼 수 있듯이 8비트밖에 공유되지 않았습니다.

두 번째 예

$a =  36; $b = 103; echo $a & $b; // This would output the number 36. $a = 00100100 $b = 01100111 

2개의 공유 비트는 32와 4이며, 합하면 36이 반환됩니다.

“Or” 연산자:

$a =  9; $b = 10; echo $a   $b; 

숫자 11이 출력됩니다. 왜요?

-------------------------------------------        1 Byte ( 8 bits )                    -------------------------------------------  Place Value   128  64  32  16  8  4  2  1       -------------------------------------------        $a        0   0   0   0  1  0  0  1      -------------------------------------------        $b        0   0   0   0  1  0  1  0  -------------------------------------------                   0   0   0   0  1  0  1  1  ------------------------------------------- 

8열, 2열 및 1열에 3비트가 설정되어 있는 것을 알 수 있습니다.더하면 8+2+1=11이다.




<=>우주선 오퍼레이터

PHP 7에 추가됨

우주선 운영자 <=>는 PHP 7에 추가된 최신 비교 연산자입니다.이것은 동등 연산자와 동일한 우선순위를 가진 비관련 이진 연산자입니다(==,!=,===,!==). 이 연산자를 사용하면 왼쪽 피연산자와 오른쪽 피연산자를 3방향으로 간단하게 비교할 수 있습니다.

연산자는 다음과 같은 정수식을 생성합니다.

  • 0양쪽 오퍼랜드가 동일한 경우
  • 보다 적은0왼쪽 피연산자가 오른쪽 피연산자보다 작을 때
  • 보다 크다0왼쪽 피연산자가 오른쪽 피연산자보다 클 때

예.

1 <=> 1; // 0 1 <=> 2; // -1 2 <=> 1; // 1 

이 연산자를 사용하는 좋은 실용적인 방법은 비교 타입의 콜백입니다.이 콜백은 2개의 값 간의 3방향 비교를 바탕으로 제로, 마이너스 또는 양의 정수를 반환할 것으로 예상됩니다.전달된 비교 함수는 이러한 예 중 하나입니다.

PHP 7 이전에는…

$arr = [4,2,1,3];  usort($arr, function ($a, $b) {     if ($a < $b) {         return -1;     } elseif ($a > $b) {         return 1;     } else {         return 0;     } }); 

PHP 7부터는 쓸 수 있습니다.

$arr = [4,2,1,3];  usort($arr, function ($a, $b) {     return $a <=> $b;     // return $b <=> $a; // for reversing order }); 



_ gettext()의 에일리어스

밑줄 문자 ‘_’는 다음과 같습니다._()는 함수의 에일리어스입니다.




구문 이름. 묘사
x == y 평등 truex와 y의 키/값 쌍이 동일한 경우
x != y 불평등 truex가 y와 같지 않은 경우
x === y 신원 truex와 y의 키/값 쌍이 동일한 경우
같은 순서로 같은 타입의
x !== y 비동일성 truex가 y와 동일하지 않은 경우
x <=> y 우주선 x가 y와 같으면 0, x > y이면 0, x < y이면 0 미만
++x 프리 인크리먼트 x를 1씩 증가시킨 후 x를 반환합니다.
x++ 증가 후 x를 반환하고 x를 1씩 증분합니다.
--x 감소 전 x를 하나씩 줄인 다음 x를 반환합니다.
x-- 감퇴 후의 x를 반환한 다음 x를 하나씩 감소시킵니다.
x and y 그리고. truex와 y 둘 다truex=6, y=3이면
(x < 10 and y > 1)돌아온다true
x && y 그리고. truex와 y 둘 다truex=6, y=3이면
(x < 10 && y > 1)돌아온다true
x or y 또는 truex 또는 y 중 하나가 맞다면truex=6, y=3이면
(x < 10 or y > 10)돌아온다true
x y 또는 truex 또는 y 중 하나가 맞다면truex=6, y=3이면
(x < 3 y > 1)돌아온다true
a . b 연결 두 문자열을 연결합니다. “Hi” . “Ha”