2012-08-23 6 views
0

를 반환 : 나는 $ listInfo를 호출

Array 
(
[0] => Array 
    (
     [id] => 70170b60a4 
     [name] => vip 
    ) 

[1] => Array 
    (
     [id] => 355a5f8cbd 
     [name] => TEST LIST2 
    ) 

[2] => Array 
    (
     [id] => d1c2deef1d 
     [name] => test list 
    ) 

) 

합니다.

이 지금은이 배열의 정보를 가지고 새로운 하나를 만들려면, 그것은 다음과 같습니다

foreach ($listinfo as $key) { 
$list = array($key['id'] => $key['name']); 
} 

그럼 난을 반환하려면 :

Array 
( 
[70170b60a4] => vip 
[355a5f8cbd] => TEST LIST2 
[d1c2deef1d] => test list 
) 

나는이 작업을 수행 VIP 값 (ID)

$listId = array_search('vip', $list); 

내 문제는 foreach 루프 만 t의 마지막 값 배열을 생성 않는다는 것이다 그는 첫 번째 배열. 그래서 얻을 수 있습니다 :

Array 
(
    [d1c2deef1d] => test list 
) 

누구나 내가 뭘 잘못하고 있다고 말할 수 있습니까? 거기에있는 첫 번째 배열의 모든 값을 원합니다. 어떤 도움을 주셔서 감사합니다.

답변

4

foreach 루프에서는 매번 새로운 배열을 생성합니다.

이 시도 :

당신이 $list마다 루프 반복을 재정의하기 때문에입니다
$list = array(); 

foreach ($listinfo as $key) { 
    $list[$key['id']] = $key['name']; 
} 
+0

1 [] = '. –

+0

나보다 빠르게 입력 ... +1 –

+0

고마워 - 그 위대한 일했습니다! – Bolli

0

. 싶은 것은 : 당신은 새로운 배열을 루프가 실행될 때마다 만드는

$list = array(); 
foreach($listinfo as $a) { 
    $list[$a['id']] = $a['name']; 
} 
0

,이 시도 : *하지 * 제안`$ 목록에 대한

$list = array();//make the array, once and only once 
foreach ($listinfo as $key) 
{ 
    $list[$key['id']] = $key['name'];//assign new key, new value to EXISTING array 
} 
관련 문제