홈으로 | 무료회원가입 | 아이디/비번찾기
추천음악방송
php 배열
6년 전
PHP의 서열은 실제로는 순서화된 맵입니다. 맵은 형의 일종으로 값을 키에 연결 짓습니다. 이 형은 다양한 용도에 맞추어 최적화됩니다. 배열뿐만 아니라, 리스트(벡터) 해시 테이블(맵의 실장의 하나), 사전, 컬렉션, 스택, 큐 등으로 사용할 수 있습니다. PHP배열에는 다른 PHP배열을 값으로 유지할 수 있어 매우 쉽게 트리 구조를 표현할 수 있습니다.

이들 데이터 구조에 관한 설명은 본 매뉴얼의 범위를 넘기 때문에 생략합니다만, 각각에 대해서 적어도 하나는 예를 나타냅니다. 이 분야는 광범위에 걸친 다양한 문헌이 존재합니다. 보다 상세한 정보에 대해서는 이들의 문헌을 참조하십시오.

구문
array() 에서 지정

배열 은 언어에 내장된 array() 에서 작성할 수 있습니다. 이 구조는 특정의 수의 쉼표로 구분된 키 값 => 세트를 인수로 합니다.

array(
    key  => value,
    key2 => value2,
    key3 => value3,
    ...
)
마지막 요소 뒤의 쉼표는 써도 안 써도 상관 없습니다. 배열을 문장으로 정의하는 경우는, 보통은 마지막 콤마를 생략합니다. 즉 array(1, 2) 쪽이 array(1, 2, ) 더 추천이라는 것입니다. 그러나 복수행으로 정의하는 경우는 마지막 콤마를 쓰는 것이 일반적입니다. 그러고 두면, 배열의 마지막 요소를 추가하기가 쉽게 되니까요.

PHP 5.4이후는 배열의 단축 구문이 추가되고, array() 대신[] 을 사용할 수 있게 되었습니다.

사례 1심플한 배열 정의

<?php
$array = array(
    "foo" => "bar",
    "bar" => "foo",
);

// PHP 5.4 에서는 이렇게 씁니다
$array = [
    "foo" => "bar",
    "bar" => "foo",
];
?>
key 는 정수 또는 문자열입니다. value 에는 임의의 형식을 지정할 수 있습니다.

또 다음과 같은key 캐스트가 발생합니다.

integer 으로 타당한 형식의 문자열은integer 틀에 캐스팅됩니다. 즉, 키를"8" 지정하면 실제로는 8 로 격납된다는 것입니다. 한쪽은"08" 캐스팅되지 않습니다. 이는 십진수로 타당한 형식이 아니기 때문이죠.
floats또한integer 에 캐스트 됩니다. 즉 소수 부분은 버릴 수 있다는 것입니다. 예를 들면 키를8.7 지정하면 실제로는 8 로 저장됩니다.
bool 도integer 에 캐스트 됩니다. 즉 키를true 지정하면 실제로는1 에 저장되고 마찬가지로 키를false 하면 실제로는0 입니다.
Null 는 하늘 문자열로 캐스팅됩니다. 즉, 키에 null 를 지정하면 실제로는"" 으로 저장됩니다.
array 및object 은 키로 사용할 수 없습니다. 키로 사용하다Illegal offset type 는 경고가 발생합니다.
배열 선언 때 같은 키로 여러 요소를 지정하면 마지막으로 지정한 것이 지금까지의 값을 덮어 씁니다.

사례 2형의 캐스트와 값의 덮어쓰기의 예

<?php
$array = array(
    1    => "a",
    "1"  => "b",
    1.5  => "c",
    true => "d",
);
var_dump($array);
?>
위의 예와 출력은 이하입니다.

array(1) {
  [1]=>
  string(1) "d"
}
위의 예에서는 모든 키가1 캐스팅됩니다. 그리고 뒤에서 지정된 값이 점점 전의 값을 덮어쓰기 하는 최종적으로는 마지막에 대입된 "d" 만이 남습니다.

PHP에서는 첨자 서열과 연관 배열 사이에는 틀림 없다, 배열형은 1개 뿐 같은 배열에서 정수의 인덱스와 문자열의 인덱스를 동시에 씁니다.

사례 3정수와 문자열의 키의 혼재 사례

<?php
$array = array(
    "foo" => "bar",
    "bar" => "foo",
    100   => -100,
    -100  => 100,
);
var_dump($array);
?>
위의 예와 출력은 이하입니다.

array(4) {
  ["foo"]=>
  string(3) "bar"
  ["bar"]=>
  string(3) "foo"
  [100]=>
  int(-100)
  [-100]=>
  int(100)
}
key 는 옵션입니다. 생략한 경우 PHP 는 지금까지 사용된 정수 키 중 최대의 것에 1을 더한 값을 사용합니다.

사례 4수치 첨자 배열에서 키를 생략하는 사례

<?php
$array = array("foo", "bar", "hello", "world");
var_dump($array);
?>
위의 예와 출력은 이하입니다.

array(4) {
  [0]=>
  string(3) "foo"
  [1]=>
  string(3) "bar"
  [2]=>
  string(5) "hello"
  [3]=>
  string(5) "world"
}
일부 요소에만 키를 지정할 수도 있습니다.

사례 5일부 요소에만 키를 지정하는 사례

<?php
$array = array(
         "a",
         "b",
    6 => "c",
         "d",
);
var_dump($array);
?>
위의 예와 출력은 이하입니다.

array(4) {
  [0]=>
  string(1) "a"
  [1]=>
  string(1) "b"
  [6]=>
  string(1) "c"
  [7]=>
  string(1) "d"
}
보다시피, 끝 값이며"d" 키는 7 입니다. 그것까지 키로 사용된 최대 정수가 6 이니까요.

뿔 괄호 구문에 따른 배열 요소 접근

배열의 요소에의 액세스에는array[key] 구문을 사용합니다.

사례 6배열의 요소에 대한 접근

<?php
$array = array(
    "foo" => "bar",
    42    => 24,
    "multi" => array(
         "dimensional" => array(
             "array" => "foo"
         )
    )
);

var_dump($array["foo"]);
var_dump($array[42]);
var_dump($array["multi"]["dimensional"]["array"]);
?>
위의 예와 출력은 이하입니다.

string(3) "bar"
int(24)
string(3) "foo"
주의:

뿔 괄호와 파도 괄호는 배열의 요소에 액세스 할 때에는 모두 같은 의미로 사용할 수 있습니다 (즉, 이 예에서$array[42] 와는$array{42} 같은 것을 나타낸다는 것입니다).
PHP 5.4이후는 함수와 메소드의 반환 결과를 직접 서열로 다루게 되었습니다. 예전에는 일단 일차 변수에 대입하지 않는다고 배열로는 다루지 않았습니다.

PHP 5.5이후는 배열 리터럴을 데 참고할 수 있게 되었습니다.

예 7배열의 데빈 레퍼런스

<?php
function getArray() {
    return array(1, 2, 3);
}

// PHP 5.4 에서는 이렇게 씁니다.
$secondElement = getArray()[1];

// 전에는 이렇게 하나
$tmp = getArray();
$secondElement = $tmp[1];

// 혹은 이렇게 해야 합니다.
list(, $secondElement) = getArray();
?>
주의:

배열에 정의되지 않은 키에 접근했을 때의 거동은 정의 변수에 접근했을 때와 같습니다. E_NOTICE 메시지가 발행되고 돌려주는 결과는NULL 입니다.
뿔 괄호 구문에서 작성/수정

명시적으로 값을 설정하면 기존의 배열을 수정할 수도 있습니다.

이는 각 괄호 안에 열쇠를 지정하고 배열에 값을 대입함으로써 실시합니다. 키를 생략할 수도 있습니다. 이 경우 하늘 모퉁이 괄호 ("[]")의 변수 이름으로 추가하세요.

$arr[키] =  치;
$arr[] = 치;
//  키는  문자열  또는
//정수의 어느 쪽인가입니다.
//값 의 형은 아무거나 괜찮습니다.
$arr 하지만 아직 존재하지 않으면 새로 만듭니다. 즉 이것은 배열을 만드는 방법의 하나이기도 합니다. 하지만 이 방법을 사용하는 것은 권장하지 않습니다. 왜냐하면 이미 $arr 뭔가 값 (리퀘스트 변수로부터 문자열 등)가 들어 있는 경우에는 그 값이 그대로 남아 [] 하지만 실제로는 문자열 연결 연산자 를 나타내기 때문입니다. 변수를 초기화할 때에는 직접 대입하는 것이 좋습니다.

어떤 값을 변경하려면 새로운 값에 값을 대입합니다. 특정 키/값 세트를 삭제하고자 하는 경우에는 unset() 를 사용할 필요가 있습니다.

<?php
$arr = array(5 => 1, 12 => 2);

$arr[] = 56;    // 이 스크립트의 이 위치에 기술한 경우.
nbsp;               // $arr[13] = 56; 과 같습니다

$arr["x"] = 42; // 키"x"의 새로운 요소를 배열에 추가합니다
                
unset($arr[5]); // 배열에서 요소를 삭제합니다

unset($arr);    // 배열 전체를 삭제합니다
?>
주의:

위와 같이 키를 생략하고 신규 요소를 추가할 경우 추가되는 수치 첨자는 사용되는 첨자 최대치+1(단, 적어도 0이상)이 됩니다. 아직 수치 첨자가 존재하지 않으면 첨자는0 (제로)입니다.

경고
PHP 4.3.0이후 이런 첨자 생성 동작은 변경되었습니다. 현재는 배열에 추가할 때 그 배열의 최대 첨자가 마이너스인 경우는 다음 함께 글씨는 제로 (0)입니다. 예전에는 정규의 첨자의 경우와 마찬가지로 새로운 첨자는 최대 첨자에+1 한 것이 세팅되었습니다.
다음의 키 생성에서 오프셋으로 사용되는 정수 값 (첨자의 최대치)에 대응할 엔트리가 반드시 내부에 존재하는 것은 아님에 주의하세요. 그러나 그 값은 많은 경우 배열에 있는 정수의 키 값의 최대값과 동일한 것입니다. 이하에 예를 나타냅니다.

<?php
//  간단한 배열을 생성합니다.
$array = array(1, 2, 3, 4, 5);
print_r($array);

// 모든 아이템을 삭제합니다만, 배열 자체는 삭제하지 않고 둡니다.
foreach ($array as $i => $value) {
    unset($array[$i]);
}
print_r($array);

// 아이템을 추가합니다( 새로운 곁들이는 글씨는 0이 아니다
// 5가 되는 것에 주의)
$array[] = 6;
print_r($array);

// 함께 글씨를 흔들고요.
$array = array_values($array);
$array[] = 7;
print_r($array);
?>
위의 예와 출력은 이하입니다.

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)
Array
(
)
Array
(
    [5] => 6
)
Array
(
    [0] => 6
    [1] => 7
)
유용한 함수
배열에서 사용하는 편리한 함수가 많이 있습니다. 배열 함수 부분을 참조하십시오.

주의:

unset() 함수는 배열의 키를 삭제할 수 있습니다. 다만 이것에 의해서 인덱스의 재구축이 진행되는 것은 아니기에 주의하세요. "통상의 정수 첨자"(0부터 시작되면서 1씩 증가)만을 사용하고 있는 경우 array_values() 를 사용하여 인덱스를 재구축할 수 있습니다.

<?php
$a = array(1 => 'one', 2 => 'two', 3 => 'three');
unset($a[2]);
/* 이에 따른 배열은 다음과 같이 정의됩니다.
   $a = array(1 => 'one', 3 => 'three');
   이하는 아닙니다:
   $a = array(1 => 'one', 2 =>'three');
*/

$b = array_values($a);
// $b 은 array(0 => 'one', 1 =>'three')입니다
?>
배열 전용 제어 구조로서foreach 가 있습니다. 이 구조는 배열의 요소에 쉽게 연속적으로 접근하는 수단을 제공합니다.

배열에서 할 일과 해서는 안 되는 것
왜$foo[bar] 는 사용 못하나?

연관 배열의 첨자 전후에는 항상 따옴표로 묶다 필요가 있습니다. 예를 들면,$foo[bar]가 아니라$foo['bar'를 사용하세요. 그러나$foo[bar]은 왜 잘못인가요? 낡은 스크립트에서 다음과 같은 구문을 본 적이 있을지도 모릅니다.

<?php
$foo[bar] = 'enemy';
echo $foo[bar];
// etc
?>
이는 잘못되고 있는데 동작합니다. 그럼, 왜 잘못되고 있는 거죠? 그 이유는 이 코드에는 문자열('bar'-따옴표로 묶이고 있다) 아니다 미정의 정수(bar)가 사용되고 있으며 PHP 가 같은 이름의 정수를 불행하게 같은 코드 속에 정의할 가능성이 있기 때문입니다. 하위 호환성 유지를 위한 미정의 정원은 같은 이름의 문자열로 자동적으로 변환됩니다. 그래서 이 코드는 동작합니다. 예컨대bar 라는 이름의 정의되지 않은 정수가 있다면 PHP는'bar' 라는 문자열로 그것을 치환하여 사용합니다.

주의: 이는 첨자를 항상 쿼트겠다는 의미가 없습니다. 상수와 변수 를 첨자로 사용할 때는 쿼트하면 PHP 는 그것을 해석할 수 없게 되어 버립니다.

<?php
error_reporting(E_ALL);
ini_set('display_errors', true);
ini_set('html_errors', false);
// 단순한 배열
$array = array(1, 2);
$count = count($array);
for ($i = 0; $i < $count; $i++) {
    echo "\nChecking $i: \n";
    echo "Bad: " . $array['$i'] . "\n";
    echo "Good: " . $array[$i] . "\n";
    echo "Bad: {$array['$i']}\n";
    echo "Good: {$array[$i]}\n";
}
?>
위의 예와 출력은 이하입니다.

Checking 0:
Notice: Undefined index:  $i in /path/to/script.html on line 9
Bad:
Good: 1
Notice: Undefined index:  $i in /path/to/script.html on line 11
Bad:
Good: 1

Checking 1:
Notice: Undefined index:  $i in /path/to/script.html on line 9
Bad:
Good: 2
Notice: Undefined index:  $i in /path/to/script.html on line 11
Bad:
Good: 2
이 구체 예를 이하에 나타냅니다.

<?php
// 오류를 모두 표시하도록 설정
error_reporting(E_ALL);

$arr = array('fruit' => 'apple', 'veggie' => 'carrot');

//  올바른
print $arr['fruit'];  // apple
print $arr['veggie']; // carrot

// 잘못. 이것은 동작하지만 정의 정수 fruit을 사용하기 때문에
// 동시에 E_NOTICE차원의 PHP오류를 발생합니다
//
// Notice: Use of undefined constant fruit - assumed 'fruit' in...
print $arr[fruit];    // apple

./ 검증의 때문에 상수를 정의하고 봅시다.
// fruit라는 이름의 상수에 값'veggie'을 대입합니다.
define('fruit', 'veggie');

// 여기에서는 출력이 다르다는 것에 주의하세요.
print $arr['fruit'];  // apple
print $arr[fruit];    // carrot

// 이하는 문자열 중이기 때문에 OK입니다. 정수는 문자열 중에서는 해석되네
// 때문에 E_NOTICE오류는 여기에서는 발생하지 않습니다.
print "Hello $arr[fruit]";      // Hello apple

// 예외가 1개이며 문자열에서 파도 괄호로 배열이 묶인 경우에는
// 정수가 해석됩니다
print "Hello {$arr[fruit]}";    // Hello carrot
print "Hello {$arr['fruit']}";  // Hello apple

// 이는 동작하지 않고, 이하 같은 버스 오류를 발생합니다:
// Parse error: parse error, expecting T_STRING' or T_VARIABLE' or T_NUM_STRING'
// 문자열에서 슈퍼 글로벌을 사용한 경우도 물론 마찬가지입니다.
print "Hello $arr['fruit']";
print "Hello $_GET['foo']";

// 문자열 결합으로 그렇게 할 수 있습니다.
print "Hello " . $arr['fruit']; // Hello apple
?>
error_reporting() 로 (E_ALL 을 지정하는 등으로) E_NOTICE 수준의 오류 출력을 유효하게 할 경우 상기의 에러가 출력됩니다. 기본적으로는 error_reporting 이들을 표시하지 않는 설정이 되고 있습니다.

구문의 절에 기술했듯이 각 괄호 ('['및']') 사이에는식이 없으면 안 됩니다. 이는 다음과 같이 쓸 수 있음을 의미합니다.

<?php
echo $arr[somefunc($bar)];
?>
이는 함수의 반환 값을 배열의 첨자로 사용하는 사례입니다. PHP 는 정수에 대해서도 인식합니다. 이하 같은E_* 사용 예를 본 적이 있을지도 모릅니다.

<?php
$error_descriptions[E_ERROR]   = "A fatal error has occurred";
$error_descriptions[E_WARNING] = "PHP issued a warning";
$error_descriptions[E_NOTICE]  = "This is just an informal notice";
?>
최초의 예bar 와 똑같이 E_ERROR 도 유효한 첨자임에 주의하세요. 그러나 실제로는 마지막 예는 다음과 같이 쓰는 것과 같습니다.

<?php
$error_descriptions[1] = "A fatal error has occurred";
$error_descriptions[2] = "PHP issued a warning";
$error_descriptions[8] = "This is just an informal notice";
?>
이는E_ERROR 초가1 와 동일한 것 등에 따릅니다.

그럼, 왜$foo[bar] 는 동작하는 것이 가능한 걸까요? 그것은bar 이 상수식임을 기대되는 구문에서 사용되기 때문입니다. 그러나 이 경우 bar 라는 이름의 정원은 존재하지 않습니다. PHP는 이 경우 당신이 문자열"bar" 처럼 리터럴 bar 를 지정했지만 인용 부호를 잊었다고 가정합니다.

그럼, 왜 잘못되고 있는 거죠?

장래적으로 PHP개발 팀이 다른 상수 또는 키워드를 추가할지도 모르고 문제가 될 가능성이 있습니다. 예를 들어, 현재도 단어empty 및 default를 사용할 수 없습니다. 이는 이들이 특별한 예약된 키워드인 때문입니다.

주의: 이중 따옴표로 묶인 문자열 중에서는 따옴표로 배열의 첨자를 안 묶 수 있기 때문에 "$foo[bar]" 는 유효합니다. 이 이유에 대한 자세한 내용은 상기 사례나 문자열 중에서 변수의 버스를 참조하세요.
배열로의 변환
integer, float, string, boolean, resource모든 틀에서도 array 로 변환할 경우 처음의 스칼라 값이 할당되어 있는 하나의 요소(첨자는 0) 를 가진 배열을 얻게 됩니다.

object를 배열할 경우에는 배열의 요소로서 객체의 속성(멤버 변수)을 가진 배열을 얻게 됩니다. 첨자는 멤버 변수 이름이 됩니다만, 몇가지 주의해야 할 예외가 있습니다. 정수의 속성은 접속 불능이 됩니다. private변수의 경우 변수 이름의 머리에 클래스 이름이 붙습니다. 또 protected변수의 경우는 변수 이름의 머리에'*'이 붙습니다. 이때 머리에 추가되는 값의 전후 null바이트가 따라옵니다. 그 결과 뜻밖의 행동을 하는 일이 있습니다.

<?php

class A {
    private $A; // 이는 '¥ 0A¥ 0A' 로 됩니다
}

class B extends A {
    private $A; // 이는 '¥ 0B¥ 0A' 로 됩니다
    public $AA; // 이는 'AA' 로 됩니다
}

var_dump((array) new B());
?>
위의 예에서는'AA'이라는 키가 두개가 있게 보이지만 그 중 하나는 실제로는'¥ 0A¥ 0A'로 됩니다.

NULL 를 배열로 변환하니 하늘의 배열을 얻습니다.

비교
array_diff() 으로 순서 연산자 를 사용하면, 배열을 비교할 수 있습니다.


PHP배열형은 여러가지 사용법이 가능합니다. 배열의 강력한 기능을 나타냈기 때문에 여기서 몇가지 예를 소개합니다.

<?php
// 이는
$a = array( 'color' => 'red',
            'taste' => 'sweet',
            'shape' => 'round',
            'name'  => 'apple',
            4        // 키는 0이 됩니다
          );

$b = array('a', 'b', 'c');

// 은 완전히 이것과 같습니다.
$a = array();
$a['color'] = 'red';
$a['taste'] = 'sweet';
$a['shape'] = 'round';
$a['name']  = 'apple';
$a[]        = 4;        // 키는 0이 됩니다

$b = array();
$b[] = 'a';
$b[] = 'b';
$b[] = 'c';

// 위의 코드를 실행하면$a 은 다음과 같은 배열
// array('color' => 'red', 'taste' => 'sweet', 'shape' => 'round',
// 'name' => 'apple', 0 => 4) 로$b 은
// array(0 => 'a', 1 => 'b', 2 => 'c') 혹은 간단히 array('a', 'b', 'c') 로 됩니다
?>
사례 8 array()의 사용 사례

<?php
// 맵을 실시하는 배열
$map = array( 'version'    => 4,
              'OS'         => 'Linux',
              'lang'       => 'english',
              'short_tags' => true
            );
            
// 수치 키만을 가진
$array = array( 7,
                8,
                0,
                156,
                -10
              );
// 이는 array( 0 => 7, 1 => 8, ...) 과 같습니다

$switching = array(         10, // key = 0
                    5    =>  6,
                    3    =>  7,
                    'a'  =>  4,
                            11, // key = 6 (최대의 첨자는 5입니다)
                    '8'  =>  2, // key = 8 (정수!)
                    '02' => 77, // key = '02'
                    0    => 12  // 값 10은 12에서 수정됩니다
                  );
                  
// 하늘의 배열
$empty = array();        
?>
예 9컬렉션

<?php
$colors = array('red', 'blue', 'green', 'yellow');

foreach ($colors as $color) {
    echo "Do you like $color?\n";
}

?>
위의 예와 출력은 이하입니다.

Do you like red?
Do you like blue?
Do you like green?
Do you like yellow?
PHP 5이후, 배열을 참조도하는 것으로 그 값을 직접 변경할 수 있게 되었습니다. 이전 버전에서는 다음과 같은 회피책이 필요합니다.

사례 10그룹 내에서 요소의 변경

<?php
// PHP 5
foreach ($colors as &$color) {
    $color = strtoupper($color);
}
unset($color); /* 이후의 nbsp;$color 에 쓸
배열의 요소를 다시 쓰고 버리지 않음을 보증할 */

// 옛 버전에서 회피책
foreach ($colors as $key => $color) {
    $colors[$key] = strtoupper($color);
}

print_r($colors);
?>
위의 예와 출력은 이하입니다.

Array
(
    [0] => RED
    [1] => BLUE
    [2] => GREEN
    [3] => YELLOW
)
이 예는 1부터 시작되는 배열을 작성합니다.

사례 11 1부터 시작되는 첨자

<?php
$firstquarter  = array(1 => 'January', 'February', 'March');
print_r($firstquarter);
?>
위의 예와 출력은 이하입니다.

Array
(
    [1] => 'January'
    [2] => 'February'
    [3] => 'March'
)
사례 12배열에 대입한다

<?php
// 디렉토리에서 모든 아이템을 배열에 대입한다
$handle = opendir('.');
while (false !== ($file = readdir($handle))) {
    $files[] = $file;
}
closedir($handle);
?>
배열에는 순서가 적용되었습니다. 다른 분류 함수를 이용하여 순서를 변경할 수도 있습니다. 보다 상세한 정보에 대해서는 배열 함수 를 참조하십시오. count() 함수를 사용함으로써 배열의 요소 수를 셀 수 있습니다.

사례 13배열의 소트

<?php
sort($files);
print_r($files);
?>
배열의 값은 뭐든지 좋아, 그 값을 다른 배열로 하는 것도 가능합니다. 이로써 귀납적인 배열과 다차원 배열을 작성할 수 있습니다.

사례 14재귀 및 다차원 배열

<?php
$fruits = array ( "fruits"  => array ( "a" => "orange",
                                       "b" => "banana",
                                       "c" => "apple"
                                     ),
                  "numbers" => array ( 1,
                                       2,
                                       3,
                                       4,
                                       5,
                                       6
                                     ),
                  "holes"   => array (      "first",
                                       5 => "second",
                                            "third"
                                     )
                );

// 위의 배열 내용을 취득하기 위한 사례
echo $fruits["holes"][5];    // "second" 을 표시합니다
echo $fruits["fruits"]["a"]; // "orange" 을 표시합니다
unset($fruits["holes"][0]);  // "first"  을 삭제합니다

//  새로운 다차원 배열을 작성합니다
$juices["apple"]["green"] = "good";
?>
배열에 대입에서는 항상 값이 복사되는 것에 주의하세요. 배열을 레퍼런스로 복사하는 경우에는 레퍼런스 연산자를 쓸 필요가 있습니다.

<?php
$arr1 = array(2, 3);
$arr2 = $arr1;
$arr2[] = 4; // $arr2 이 변경됩니다.
             // $arr1 은 array(2,3) 그대로입니다.
            
$arr3 = &$arr1;
$arr3[] = 4; // $arr1 로 $arr3 은 같은 내용이 됩니다.
?>
추천추천 : 273 추천 목록
번호 제목
3,033
 PHP 정규식 정리
3,032
 PHP 정규식을 활용한 태그 및 특정 문자열 제거 및 추출 방법
3,031
 php 크롤링 또는 파싱 함수, 정규식 모음
3,030
 제이쿼리 기본 명령어
3,029
 웹페이지 가로 모드세로 모드 인식하기
3,028
 모바일 웹 화면 강제 회전(가로모드 고정)
3,027
 [HTML5]에서 frameset 대체 방법과 iframe 속성
3,026
 HTML <Audio> 사용법
3,025
 윈도우10 시스템파일 손상 (초간단 오류 복구방법!!)
3,024
 PHP 파일 존재 여부 파악하기(로컬 파일 존재 및 원격지 파일 존재)
3,023
 [CSS] 박스 세로 가운데 중앙 정렬 6가지
3,022
 CSS Layout 수평 & 수직 정렬
3,021
 여러 도메인들 간 쿠키 공유하기
3,020
 태그 사이에 있는 텍스트를 추출
3,019
 [JQuery] textbox focus on off일때 숫자 콤마 보여주기
3,018
 쿠키 생성,가져오기,삭제
3,017
 사용자 함수 모음
3,016
 마우스,키보드 제한 ( 오른쪽클릭,드래그,영역선택등..)
3,015
 [HTML5] <video> - DOM으로 제어하기
3,014
 HTML5 video 태그에서 영상 좌우반전
3,013
 PHP - 특정 태그 및 문자열 추출, 제거
3,012
 [PHP] define과 defined의 차이
3,011
 우클릭 완벽차단 스크립트
3,010
 iframe 높이 100% 맞추기
3,009
 curl 함수를 이용한 HTTP REFERER 변경
목록
뮤직트로트 부산광역시 부산진구 가야동 ㅣ 개인정보취급방침
Copyright (C) musictrot All rights reserved.