2013-06-04 3 views
3

두 개의 배열 키 의 연관 값이 동일한 연관 값을 어떻게 쉽게 가질 수 있는지 궁금 할 것입니다. 나의 현재 코드는 다음과 같습니다동일한 값을 가진 두 개의 배열 키

$arraytest = array(
     'test1', 'test2' => 1, 
     'test3', 'test4' => 2, 
) 

내가 배열 작업 할 그래서 다음 코드를 반환 :

$arraytest['test1'] returns 1 
$arraytest['test2'] returns 1 

등을 도와

감사, m

+3

이것은 당신은 여기 배열 검사에 동일한 키를 가진 여러 값을 가질 수 없습니다, 수 없습니다 http://stackoverflow.com/ 질문/16871279/combine-array-in-php/16871376 # 16871376 – Fabio

+0

@Aquillo 질문이 변경되었습니다. 편집 – Fabio

+0

@ mary13123123을 확인하십시오. var_dump ($ arraytest); "test1"[ "test2"] => int (1) [1] => 문자열 (5) "test3"[ "test4"] => int (2)} –

답변

0

당신에게 이 상황을 시뮬레이션하기 위해 하나의 변수 참조를 두 배열 키에 연관시킬 수 있습니다.

예 :

$a = 2; 

$arraytest = array (
    'test1' => &$a, 
    'test2' => &$a 
); 

이 방법은 'TEST1'와 같은 'TEST2'포인트 에 메모리에 $ A 당신이 "진짜"의 값이 항상 것입니다 사용 'TEST1'와 'TEST2을 $ 배열의. php.net 문서에서

"참고 그러나 배열 내에서 참조 할 잠재적 위험한 것으로,이 예기치 않은 프로그램 행동으로 이어질 수 있기 때문에 그러나 배열의 참조는 피해야한다 사용 명심하십시오. 오른쪽의 참조를 사용하여 정상적인 (참조가 아닌) 할당을 수행하면 왼쪽이 참조로 변환되지 않지만 배열 내부의 참조는이 일반 할당으로 보존됩니다. 배열이있는 함수 호출에도 적용됩니다. 값으로 전달되었습니다. " 여기

자세한 내용 =>What References Do (php.net)

-2
$arr = array(
    'test1' => 1, 
    'test2' => 1, 
    'test3' => 2, 
    'test4' => 2, 
); 
+0

그게 무슨 뜻 이죠? – Fabio

+0

OP는 두 개의 배열 키가 동일한 값을 반환하기를 원합니다. 이것은 이것을 수행하는 예입니다. – Lauris

-2
$arr = asign(array('test','test1'),'2'); 

//print_r($arr); 
/* 
Array 
(
    [test] => 2 
    [test1] => 2 
) 
*/ 
$arr = asign(array('test2','test3'),'3',$arr); 

print_r($arr); 
/* 
Array 
(
    [test] => 2 
    [test1] => 2 
    [test2] => 3 
    [test3] => 3 
) 
*/ 


function asign($key,$val,$arr=array()){ 

foreach($key AS $v){ 

$arr[$v]=$val; 
} 

return $arr; 
} 
-2
$a =array_merge(
     array_fill_keys(array('test','test2'), '1'), 
     array_fill_keys(array('test3','test4'), '2') 
    ); 

    print_r($a); 
/* 
    Array 
    (
     [test] => 1 
     [test2] => 1 
     [test3] => 2 
     [test4] => 2 
    ) 
*/ 
+0

끔찍한 코드 게시를 중단 할 수 있습니까? – user544262772