2012-10-14 3 views
1
<?php 
$arr = array("value1", "value2", "value3"); 
$array_with_keys = array_keys($arr); 
echo "<pre>"; 
print_r($array_with_keys); 
echo "</pre>"; 
?> 

이 매개 변수에는 비 연관 배열이있는 array_keys()의 예입니다. 열쇠가 없습니다.매개 변수에 일반 배열이 포함 된 array_keys()

출력은 다음과 같습니다

Array 
(
    [0] => 0 
    [1] => 1 
    [2] => 2 
) 

왜 출력이 무엇입니까? 나는 매뉴얼을 검색했고 array_keys()의 예를 찾을 수 없다.

출력이 왜 이렇게되는지 설명 할 수 있습니까?

상식적으로 말해서 일반적인 배열에서는 키가 0, 1, 2 인 색인이기 때문입니다.

+1

"정상적인"배열 키는 1이 아닌 0에서 시작합니다 ... 그리고 이것은 PHP 문서 –

+0

에 광범위하게 문서화되어 있습니다. 나는 그것을 0,1,2 ..... 편집했습니다. 왜 다시 1,2로 변경 되었습니까? , 3 – user1745031

+0

그 밖의 무엇을 기대 했습니까? PHP의 배열은 0부터 시작합니다. "정상적인"배열이란 무엇입니까? – PeeHaa

답변

1

모든 배열은 실제로 PHP에서 연관 배열입니다. 당신이 그들을 선언하지 하더라도 :

$arr = array("value1", "value2", "value3"); 

$arr = array(0 => "value1", 1 => "value2", 2 => "value3"); 

그래서 PHP가 자동으로 키를 추가

과 동일합니다.

+0

@PeeHaa 혼란스럽고 무의미한 것을 작성했습니다 ('$ arr == array_keys (array_flip ($ arr))'). 당신은 절대적으로 맞습니다;) 답변이 수정되었습니다. – ComFreek

1

귀하의 상식은 정확합니다. 키가없는 배열을 만들 때 숫자로 인덱스가 지정됩니다. 이러한 배열에서 array_keys을 수행하면 숫자 키가 추출됩니다.

관련 문제