2013-04-01 33 views
-1

我有一個數組,我需要檢查它是否是關聯的。將索引鍵添加到現有陣列

該陣列可以是這樣的:

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

      ) 
    ) 

這是完美的。但有時候,我得到這樣的:

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

在這種情況下,我需要添加的0一個索引使數組是這樣的:

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

     ) 

我使用這個功能來檢查它是相關的:

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; 
}