2012-01-12 7 views
1

배열에서 값을 가져 오려고하는데 $array[0]을 사용할 때 PHP 알림 '정의되지 않은 오프셋 : 0'이 표시됩니다. 그러나 $array['id'] ('0'을 사용하는 것과 같아야합니다. 'id'가 배열의 첫 번째 키이므로) 값을 가져올 수 있습니다. 나는 print_r을했고 출력되었습니다 :알림 : 정의되지 않음 오프셋 : 0

Array ( 
    [id] => 1 
    [username] => test 
) 

색인을 사용하여 키를 가져올 수 없습니까? 나는 그것이 일찍 일한다고 믿지만, 나는 그것이 작동을 멈추게 할 수 있었는지 모른다. 어떤 아이디어?

답변

1

아니요, 가능하면 안됩니다.

당신은 기본적으로 당신이 컬럼에 도착하는 모두 숫자 및 문자열 인덱스를 사용할 수 있습니다, mysql_fetch_array 같은로부터 취득 배열 생각 될 수

-하지만 배열 모두이 포함되어 있기 때문에 당신이 할 수있는 이유는 그것들의.

array_values을 사용하면 배열에서 값을 추출하여 기본적으로 숫자를 숫자로 변환 할 수 있지만 실제로는 그렇지 않습니다.

+0

감사합니다. 그게 내가 생각한 것입니다. – Preston

2

$array['id']이 아니고,$array[0]과 동일합니다. 이 혼란은 아마도 배열이라는 용어와 관련이 있습니다. PHP의 배열은 다른 언어로 배열이라고 부르는 것이 아니라 지도 또는 사전입니다.

(아, 그렇지 않은 경우에도 php 배열,지도 또는 사전에있는 요소의 순서는 구현에 따라 다르기 때문에 $tmp = array_values($array); echo $tmp[0];과 함께 ID를 얻으려면 php가 배열을 섞는다).

관련 문제