복붙노트

PHP에서 배열에 대한 + 연산자?

PHP

PHP에서 배열에 대한 + 연산자?

$test = array('hi');
$test += array('test','oh');
var_dump($test);

PHP에서 array가 의미하는 바는 무엇입니까?

해결법

  1. ==============================

    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. ==============================

    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. ==============================

    3.이 연산자는 두 배열의 합집합을 취합니다 (array_merge와 동일 함, array_merge 중복 키를 덮어 쓰는 것을 제외하고).

    이 연산자는 두 배열의 합집합을 취합니다 (array_merge와 동일 함, array_merge 중복 키를 덮어 쓰는 것을 제외하고).

    배열 연산자에 대한 문서는 여기에서 찾을 수 있습니다.

  4. ==============================

    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. ==============================

    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. ==============================

    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. ==============================

    7.새로운 배열을 이전 배열에 추가합니다.

    새로운 배열을 이전 배열에 추가합니다.

  8. ==============================

    8.

    $var1 = "example";
    $var2 = "test";
    $output = array_merge((array)$var1,(array)$var2);
    print_r($output);
    

    배열 ([0] => 예제 [1] => 테스트)

  9. from https://stackoverflow.com/questions/2140090/operator-for-array-in-php by cc-by-sa and MIT license