2013-04-01 3 views
-1

연관이 있는지 확인해야하는 배열이 있습니다.기존 배열에 색인 키 추가

[preview] => Array 
    (
     [0] => Array 
      (
       [type] => web 
       [side] => left 
      ) 
     [1] => Array 
      (
       [type] => web 
       [side] => right 

      ) 
    ) 

을 그리고 완벽 :

배열은 다음과 같이 할 수 있습니다. 하지만 가끔은, 난이 얻을 : 나는 경우 확인하려면이 기능을 사용하고

[preview_file] => Array 
     (
     [0] => Array 
      (
      [type] => artwork 
      [side] => right 
     ) 

     ) 

을 :이 경우

[preview_file] => Array 
     (
     [type] => artwork 
     [side] => right 
     ) 

을, 나는 배열이처럼 보이게 0의 인덱스를 추가 할 필요가 그것은 assoctiative입니다 :하지 않으면

function is_assoc($array) { 
    return (bool)count(array_filter(array_keys($array), 'is_string')); 
} 

, 내가 어떻게 든 [0]를 추가해야합니다. Doe = 누구나 아이디어가 있습니까?

답변

2

키 대신 값을 확인합니다. 첫 번째 값을 확인하는 것만 큼 멀리 떨어져있는 것 같습니다.

function is_assoc($array) { 
    return is_array(reset($array)); 
} 

실제 변경 방법에 대한 질문이 있으십니까? 이 작동한다고 :

if (!is_assoc($preview)) { 
    $preview = array($preview); 
} 
+0

난 여전히 인덱스가 원래 하나뿐이므로 인덱스없이 하나 모두와 하나가 – Yeak

1

다른 방법이 제외 작동

if(!isset($array[0])) { 
    $array[0] = $array; 
}