> 백엔드 개발 > PHP 튜토리얼 > PHP 마스터 | PHP의 어레이 연산자 : 흥미롭지 만 말을 덜 말합니다

PHP 마스터 | PHP의 어레이 연산자 : 흥미롭지 만 말을 덜 말합니다

William Shakespeare
풀어 주다: 2025-02-23 09:04:10
원래의
847명이 탐색했습니다.
PHP 배열 연산자에 대한 자세한 설명 : 거의 알려지지 않은 팁

PHP 연산자는 산술, 할당, 비트 작동, 비교, 오류 제어, 실행, 증분/감소, 로직, 문자열, 배열 및 유형 연산자의 7 가지 범주로 나눌 수 있습니다. 이 기사는 어레이 연산자에 중점을두고 배열과 함께 사용될 때 다른 연산자의 동작을 다룹니다. PHP Master | Array Operators in PHP: Interesting but Less Spoken

키 포인트

PHP 배열 연산자는 노조, 평등, 정체성, 불평등 및 비 식별력이 포함됩니다. -동일한.

Union Operator ()는 키에 따라 두 개의 배열을 병합하여 두 번째 배열의 첫 번째 배열에 이미 존재하는 키를 무시합니다. 그러나 노동 조합은 배열 값을 기반으로한다는 것이 종종 오해되지만 실제로는 배열 키를 기반으로합니다.

Identity 연산자 (===)는 모든 해당 값에 대한 요소 수, 키 값 쌍, 요소 순서 및 데이터 유형 측면에서 두 배열이 동일한 지 확인합니다. 그러나 어레이 키의 경우 키가 정수이고 다른 배열에서 키와 비슷한 정수 문자열 표현이 있으면 느슨하게 일치합니다.
    배열 연산자 이외의 연산자를 배열에 적용 할 때 PHP는 다르게 작동합니다. 예를 들어, 산술 연산자를 배열에 적용 할 때 PHP는 치명적인 오류가 발생합니다. 증분/감소 연산자는 배열에 영향을 미치지 않습니다.
  • 어레이 연산자 공식 문서는 각 배열 연산자를 간단히 설명하므로 때로는 사람들이 각 운영자의 예상 결과를 이해하기가 어렵습니다. 각 배열 연산자를 면밀히 살펴보고 기능을 명확하게 이해할 수 있습니다. 이 모든 연산자는 이진이므로 각 연산자는 두 개의 배열에서 정확하게 작용 함을 의미합니다.
  • 어레이 유니언 먼저 Union Operator ()는 배열의 키에 따라 두 배열의 Union을 제공합니다. 느슨한 키 매칭을 수행하며 두 번째 배열의 동등한 키가 이미 첫 번째 배열에 존재하는 경우 두 번째 배열의 모든 키는 무시됩니다. 두 번째 배열의 나머지 키 (및 해당 값)는 첫 번째 배열에 추가됩니다.
  • 첫 번째 print_r ()의 경우 $ array2의 첫 3 가지 요소는 이미 $ array1에 존재하는 키가 있으므로 결과 배열에서 'd', 'e'및 'f'가 무시됩니다. 두 번째 print_r ()의 경우 $ array1의 모든 키는 이미 $ array2에 존재하므로 모든 요소가 무시됩니다. 느슨한 일치 동작은 완전히 예상치 못한 결과를 제공 할 수 있지만 최적화 및 느슨한 코딩을위한 흥미로운 기회를 제공합니다.
사람들은 종종 노조가 배열 값을 기반으로한다는 것을 오해하지만 실제로이 운영자는 어레이 키의 노조를 구현합니다. Value-Based Union의 경우 Array_Merge () 및 Array_unique ()를 조합하여 사용할 수 있습니다.
<?php
$array1 = array('a', 'b', 'c');
$array2 = array('d', 'e', 'f', 'g', 'h', 'i');
print_r($array1 + $array2);
print_r($array2 + $array1);
?>
로그인 후 복사
로그인 후 복사
<code>Array
(
    [0] => a
    [1] => b
    [2] => c
    [3] => g
    [4] => h
    [5] => i
)
Array
(
    [0] => d
    [1] => e
    [2] => f
    [3] => g
    [4] => h
    [5] => i
)</code>
로그인 후 복사
로그인 후 복사
배열 평등 <🎜 🎜> 평등 연산자 (==)는 두 배열이 비슷한 지 확인합니다. 첫 번째 배열의 모든 키 값 쌍이 두 번째 배열에 동등한 키 값 쌍이 있으면 연산자가 true를 반환합니다. 값과 키와 느슨하게 일치하고 요소의 순서를 무시합니다.

두 배열의 요소는 순서대로 있지만 동일한 값은 각 배열에서 유사한 키에 바인딩됩니다. 그러나 두 배열 모두 다른 키 값 쌍이 있기 때문에 다음 두 가지는 동일하지 않습니다.

<?php
$array1 = array('0' => 'a', '1' => 'b', '2' => 'c', '3' => 'd');
$array2 = array(false => 'e', 1 => 'f', 2 => 'g', 3 => 'h', 4 => 'i');
print_r($array1 + $array2);
?>
로그인 후 복사
불평등 한 연산자 (! = 또는 & lt; & gt;)는 두 어레이가 비슷하지 않은지 확인하고 동등한 연산자에게 완벽한 반의어인지 확인합니다. 평등 연산자는 False가있는 것을 반환 하고이 연산자는 True를 반환하고 그 반대도 마찬가지입니다.
<code>Array
(
    [0] => a
    [1] => b
    [2] => c
    [3] => d
    [4] => i
)</code>
로그인 후 복사

배열 ID <🎜 🎜> Identity 연산자 (===)는 두 배열이 동일한 지 확인합니다. 다음 조건을 충족하면 두 배열이 동일합니다.
<?php
$union = array_unique(array_merge($array1, $array2));
print_r($union);
?>
로그인 후 복사
<code>Array
(
    [0] => a
    [1] => b
    [2] => c
    [3] => d
    [4] => e
    [5] => f
    [6] => g
    [7] => h
    [8] => i
)</code>
로그인 후 복사
는 같은 수의 요소를 가지고 있습니다 <🎜

는 동일한 키-값 쌍

를 가지고 있습니다 는 동일한 요소 순서 <🎜
<?php
$array1 = array('1' => 1, '2' => 2, '3' => 3, '0' => 0);
$array2 = array(false => '0', 1 => '1', 2 => '2', 3 => '3');
var_dump($array1 == $array2);
?>
로그인 후 복사
를 갖습니다 모든 해당 값의 데이터 유형은 동일합니다.
<code>bool(true)</code>
로그인 후 복사
그러나 어레이 키의 경우 키가 정수 인 경우 다른 배열에서 키와 비슷한 정수 문자열 표현이 있으면 Identity 연산자가 느슨하게 일치합니다. 이 연산자는 플로팅 포인트 번호와 String 키와 엄격하게 일치합니다. PHP 매뉴얼은이 차이를 명시하지 않습니다.

  • 비 식별 연산자 (! ==)는 두 어레이가 다른지 확인합니다. 다시 말하지만,이 연산자는 ID 연산자와 정확히 반대입니다. 즉, 두 배열이 동일하면이 연산자는 False를 반환합니다.
  • 다른 연산자와 배열을 사용하십시오 위의 연산자 이외의 연산자를 배열에 적용 할 때 PHP 동작이 다릅니다. 다음은 이러한 연산자의 목록과 배열에 적용 할 때 어떻게 행동하는지입니다.
  • <:> 치명적인 오류 : 예상치 못한 피연산자 유형
  • 다음 연산자가 배열에 적용될 때 PHP는 치명적인 오류를 발행합니다.
  • 비트 작동 비 기능 (~) <🎜 🎜> 산술 음성 연산자 (-) <🎜 🎜> 산술 뺄셈 연산자 (-) <🎜 🎜> 산술 곱셈 연산자 (*) <🎜 🎜> 산술 부서 연산자 (/) <🎜 🎜>
배열을 정수로 처리하십시오 <🎜 🎜> 다음 연산자와 함께 사용하면 배열이 정수로 처리됩니다. 빈 배열 (요소 없음)은 int (0)로 간주되고 비어 있지 않은 배열은 int (1)로 간주됩니다.

    <(> 논리적 비 (!)는 빈 배열에 대해 true를 반환하고 피연산자 배열에 하나 이상의 요소가있는 경우 False를 반환합니다.
  • <(> 비트 및 (&&) 반환 1 두 피연산자가 비어 있지 않은 경우;
  • <|> 비트 또는 (|) 두 피연산자가 비어 있으면 0을 반환합니다.
  • <(> 비트 독점 (^)은 두 배열이 비어 있거나 비어 있지 않은 경우 0을 반환합니다. 배열 중 하나가 비어 있으면 1을 반환하십시오.
  • 왼쪽 시프트 연산자 (& lt; & lt;)를 사용하여 배열을 왼쪽 n 단계로 이동하십시오.
  • 오른쪽 시프트 연산자 (& gt; & gt;)는 오른쪽으로 이동한다는 점을 제외하고 왼쪽 시프트와 유사하게 동작합니다.
  • <%%> 모듈 (%)은 두 배열 모두 비어 있지 않으면 true를 반환합니다. 두 번째 배열이 비어 있으면 "0으로 나눈"오류가 방출됩니다. 첫 번째 배열이 비어 있으면 0 (0 % 1)이 반환됩니다.
  • 로지스틱 대 (&& and and)는 배열이 비어 있으면 false를 반환합니다. 두 배열 모두 비어 있지 않으면 true를 반환하십시오.
  • <(> 논리적 또는 (|| 또는 또는)가 비어 있지 않은 경우 true를 반환합니다. 두 배열 모두 비어 있으면 False가 반환됩니다.
  • 두 배열이 비어 있거나 비어 있지 않으면 논리적 xor (xor)는 false를 반환합니다. 그렇지 않으면 배열 중 하나가 비어 있으면 TRUE를 반환합니다.
  • 배열을 bool에 캡처하고, 배열이 비어 있으면 false를 반환하고 그렇지 않으면 true를 반환하십시오.
  • 배열을 문자열로 취급하십시오 두 배열을 연결할 때 문자열 연결 연산자 (.)는 각 배열을 문자열 "어레이"로 취급하고 이러한 문자열을 연결합니다.
  • <<> invalid
  • 증분/감소 연산자 (및 -)는 배열에 영향을 미치지 않습니다.
  • 결론
  • 배열과 함께 사용할 때 PHP 연산자에 대한 실제 문서는 거의 없지만 자세한 내용은 배열 연산자 페이지에서 사용자 제출 한 주석을 볼 수 있습니다. 귀하의 질문과 의견은 여기에서 환영하며 더 자세히 설명해 드리겠습니다.
<<> Fotolia의 사진

PHP 배열 연산자 FAQS (FAQS) <🎜 🎜> PHP의 다른 유형의 배열 연산자는 무엇입니까?

PHP는 Union (), 평등 (==), Identity (===), 불평등 (! = 또는 & lt; & gt;) 및 비 스턴트 평등 (! ==)을 포함한 여러 유형의 배열 연산자를 지원합니다. 이러한 각 연산자는 다른 기능을 수행합니다. 예를 들어, Union Operator ()는 배열을 결합하고 평등 연산자 (==)는 두 배열이 동일인지 확인하고 Identity 연산자 (===)는 두 배열이 동일인지 확인합니다.

Union () 운영자는 PHP에서 어떻게 작동합니까?
<?php
$array1 = array('a', 'b', 'c');
$array2 = array('d', 'e', 'f', 'g', 'h', 'i');
print_r($array1 + $array2);
print_r($array2 + $array1);
?>
로그인 후 복사
로그인 후 복사
PHP의 Union () 운영자는 두 숫자를 하나로 결합합니다. 배열의 결합이 필요하므로 두 배열로 모든 요소를 ​​포함하는 배열을 반환합니다. 배열에 동일한 문자열 키가 있으면 첫 번째 배열의 값이 사용되며 두 번째 배열의 일치 키 값은 무시됩니다.
<code>Array
(
    [0] => a
    [1] => b
    [2] => c
    [3] => g
    [4] => h
    [5] => i
)
Array
(
    [0] => d
    [1] => e
    [2] => f
    [3] => g
    [4] => h
    [5] => i
)</code>
로그인 후 복사
로그인 후 복사
평등 (==)과 정체성 (===) 연산자의 차이점은 무엇입니까?

평등 (==) 연산자는 순서 또는 데이터 유형에 관계없이 두 배열이 동일한 키/값 쌍을 가지고 있는지 확인합니다. 반면에, ID (===) 연산자는 두 배열이 동일한 순서의 동일한 키/값 쌍과 동일한 데이터 유형을 가지고 있는지 확인합니다.

PHP의 불평등 (! = 또는 & lt; & gt;) 운영자는 어떻게 작동합니까?

PHP의 불평등 한 연산자는 두 배열이 동일하지 않은지 확인합니다. 배열이 동일하지 않은 경우 true를 반환하고 배열이 같으면 False를 반환하십시오.

PHP에서 비 식별 (! ==) 연산자의 역할은 무엇입니까?

PHP의 비 식별 (! ==) 연산자는 두 어레이가 다른지 확인합니다. 배열이 동일하지 않으면 true를 반환하십시오.

배열 연산자가 PHP에 결합 될 수 있습니까?

예, 배열 연산자를 PHP의 결합하여보다 복잡한 작업을 수행 할 수 있습니다. 그러나 예상치 못한 결과를 피하기 위해이 작업을 수행 할 때주의하십시오. 결합 된 연산자가 코드의 맥락에서 논리적으로 의미가 있는지 항상 확인하십시오.

어레이에 배열 연산자를 사용하여 특정 값이 포함되어 있는지 확인하는 방법은 무엇입니까?

PHP에서 in_array () 함수를 사용하여 배열에 특정 값이 포함되어 있는지 확인할 수 있습니다. 값이 배열에서 발견되면이 함수는 그렇지 않으면 거짓을 반환합니다.

PHP 배열에서 특정 값을 삭제하는 방법은 무엇입니까?

PHP의 Array_Diff () 함수를 사용하여 배열에서 특정 값을 삭제할 수 있습니다. 이 함수는 배열의 값을 다른 배열의 값과 비교하고 차이를 반환합니다.

PHP에서 배열을 정렬하는 방법은 무엇입니까?

PHP는 Sort (), asort (), ksort () 및 usort ()를 포함하여 배열을 정렬하는 여러 기능을 제공합니다. 이러한 각 기능은 배열을 다른 방식으로 정렬하므로 필요에 가장 적합한 기능을 선택해야합니다.

PHP의 배열 순서를 되돌리는 방법은 무엇입니까?

PHP의 Array_Reverse () 함수를 사용하여 배열의 순서를 반전 할 수 있습니다. 이 함수는 새로운 요소 배열을 역순으로 반환합니다.

위 내용은 PHP 마스터 | PHP의 어레이 연산자 : 흥미롭지 만 말을 덜 말합니다의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿