PHP에서 배열에 대한 + 연산자?
PHPPHP에서 배열에 대한 + 연산자?
$test = array('hi');
$test += array('test','oh');
var_dump($test);
PHP에서 array가 의미하는 바는 무엇입니까?
해결법
-
==============================
1.언어 연산자에 대한 PHP 매뉴얼 인용
언어 연산자에 대한 PHP 매뉴얼 인용
그래서 네가한다면
$array1 = ['one', 'two', 'foo' => 'bar']; $array2 = ['three', 'four', 'five', 'foo' => 'baz']; print_r($array1 + $array2);
너는 얻을 것이다
Array ( [0] => one // preserved from $array1 (left-hand array) [1] => two // preserved from $array1 (left-hand array) [foo] => bar // preserved from $array1 (left-hand array) [2] => five // added from $array2 (right-hand array) )
따라서 +의 논리는 다음 스 니펫과 동일합니다.
$union = $array1; foreach ($array2 as $key => $value) { if (false === array_key_exists($key, $union)) { $union[$key] = $value; } }
C 레벨 구현의 세부 사항에 관심이 있다면
그 +는 array_merge ()가 배열을 결합하는 방법과 다릅니다.
print_r(array_merge($array1, $array2));
너에게 줄거야.
Array ( [0] => one // preserved from $array1 [1] => two // preserved from $array1 [foo] => baz // overwritten from $array2 [2] => three // appended from $array2 [3] => four // appended from $array2 [4] => five // appended from $array2 )
자세한 예제는 링크 된 페이지를 참조하십시오.
-
==============================
2.이것을 사용하여 발견 된 가장 좋은 예는 구성 배열에 있습니다.
이것을 사용하여 발견 된 가장 좋은 예는 구성 배열에 있습니다.
$user_vars = array("username"=>"John Doe"); $default_vars = array("username"=>"Unknown", "email"=>"no-reply@domain.com"); $config = $user_vars + $default_vars;
$ default_vars는 기본 값 배열입니다. $ user_vars 배열은 $ default_vars에 정의 된 값을 덮어 씁니다. $ user_vars의 누락 된 값은 $ default_vars의 기본값입니다.
print_r은 다음과 같습니다.
Array(2){ "username" => "John Doe", "email" => "no-reply@domain.com" }
이게 도움이 되길 바란다!
-
==============================
3.이 연산자는 두 배열의 합집합을 취합니다 (array_merge와 동일 함, array_merge 중복 키를 덮어 쓰는 것을 제외하고).
이 연산자는 두 배열의 합집합을 취합니다 (array_merge와 동일 함, array_merge 중복 키를 덮어 쓰는 것을 제외하고).
배열 연산자에 대한 문서는 여기에서 찾을 수 있습니다.
-
==============================
4.숫자 키를주의 깊게 사용하십시오. 보존해야하거나 아무것도 풀지 않으려는 경우
숫자 키를주의 깊게 사용하십시오. 보존해야하거나 아무것도 풀지 않으려는 경우
$a = array(2 => "a2", 4 => "a4", 5 => "a5"); $b = array(1 => "b1", 3 => "b3", 4 => "b4");
노동 조합
print_r($a+$b); Array ( [2] => a2 [4] => a4 [5] => a5 [1] => b1 [3] => b3 )
가기
print_r(array_merge($a, $b)); Array ( [0] => a2 [1] => a4 [2] => a5 [3] => b1 [4] => b3 [5] => b4 )
-
==============================
5.+ 연산자는 array_replace ()와 동일한 결과를 생성합니다. 그러나 연산자 인수가 반대로되므로 결과 배열의 순서가 다를 수도 있습니다.
+ 연산자는 array_replace ()와 동일한 결과를 생성합니다. 그러나 연산자 인수가 반대로되므로 결과 배열의 순서가 다를 수도 있습니다.
이 페이지에서 다른 예제로 확장 :
$array1 = array('one', 'two', 'foo' => 'bar'); $array2 = array('three', 'four', 'five', 'foo' => 'baz'); print_r($array1 + $array2); print_r(array_replace($array2, $array1)); //note reversed argument order
출력 :
Array ( [0] => one // preserved from $array1 [1] => two // preserved from $array1 [foo] => bar // preserved from $array1 [2] => five // added from $array2 ) Array ( [0] => one // preserved from $array1 [1] => two // preserved from $array1 [2] => five // added from $array2 [foo] => bar // preserved from $array1 )
-
==============================
6.나는 아래의 코드를 명확하게하기 위해 게시한다.
나는 아래의 코드를 명확하게하기 위해 게시한다.
$ a + $ b = array_plus ($ a, $ b)
function array_plus($a, $b){ $results = array(); foreach($a as $k=>$v) if(!isset($results[$k]))$results[$k] = $v; foreach($b as $k=>$v) if(!isset($results[$k]))$results[$k] = $v; return $results; }
-
==============================
7.새로운 배열을 이전 배열에 추가합니다.
새로운 배열을 이전 배열에 추가합니다.
-
==============================
8.
$var1 = "example"; $var2 = "test"; $output = array_merge((array)$var1,(array)$var2); print_r($output);
배열 ([0] => 예제 [1] => 테스트)
from https://stackoverflow.com/questions/2140090/operator-for-array-in-php by cc-by-sa and MIT license
'PHP' 카테고리의 다른 글
PHP 5의 호출자 함수? (0) | 2018.09.12 |
---|---|
foreach 루프의 두 배열 (0) | 2018.09.12 |
PHP에서 404에 대한 URL을 테스트하는 쉬운 방법은 무엇입니까? (0) | 2018.09.12 |
PHP 함수 오버로딩 (0) | 2018.09.12 |
HTTP 응답을 보낸 후 PHP 처리 계속 (0) | 2018.09.12 |