2011-09-09 1 views
1

다른 질문과 대답을 살펴 봤지만 그다지 도움이되지는 않습니다.마지막 4 개의 배열 키와 값을 복사하여 동일한 배열의 끝 부분에 다른 키 이름으로 추가하십시오.

'harry' => 'dog', 
'bob' => 'badger', 
'george' => 'toad', 
'fred' => 'frog', 
'lucy' => 'bird', 
'melanie' => 'cat' 

와 내가 뭘하려는 항상 배열에서 마지막 4 개 항목을하는 것입니다

나는이 같은 예를 들어, 항목의 배열을 가지고있다 (항목의 양에 따라 다름) (배열이 얼마나 큰지 상관없이 항목에 포함될 항목의 양이 가변적이라는 것을 명심하십시오.) 복사하고 각 키에 다른 이름을 지정하고 값을 유지하십시오. 따라서 배열은 다음과 같이 끝날 것입니다 :

'harry' => 'dog', 
'bob' => 'badger', 
'george' => 'toad', 
'fred' => 'frog', 
'lucy' => 'bird', 
'melanie' => 'cat' 
'adam' => 'toad', 
'becca' => 'frog', 
'tom' => 'bird', 
'dave' => 'cat' 

정말 감사합니다.

답변

2

array_slice($array, -4)$array의 마지막 4 개의 값을 제공합니다. 그런 다음 array_combine을 사용하여 동일한 값과 선택한 키를 사용하여 새 배열을 가져올 수 있습니다. 마지막으로 을 사용하여 원래의 배열 끝에 새로운 키/값 쌍을 추가하십시오.

See it in action.

다른 접근 방식을 사용할 수도 있지만,이 방법은 간단하고 이해하기 쉽습니다.

+0

아 맞아, 난 완전히 잘못 array_slice 것 같습니다. 무슨 도구 야! – bjohnb

+0

오, 정말 대단히 감사합니다! – bjohnb

+0

@ JohnDawson : HTH :) – Jon

관련 문제