2016-08-22 23 views
0

我有以下格式的數組。如何在PHP中交換鍵/值?

[records] => Array 
    (
     [7] => Array 
      (
       [available] => No 
      ) 
     [8] => Array 
      (
       [available] => No 
      )    
     [9] => Array 
      (
       [available] => No 
      ) 
     [11] => Array 
      (
       [available] => Yes 
      ) 

    ) 

我需要與數組鍵(7,8,9,11)爲互換是/否值。通常情況下,一個循環會做到這一點。但是,我想知道除了循環以外是否還有其他方法可用,以便我可以放棄計劃以實現額外的循環。

+0

有什麼不對使用一個循環? – iyop45

+0

你的意思是像'array_fill_keys'?但它確實在內部使用循環。所以沒有收穫。 或者,也許你的意思是喜歡在功能性語言中有懶惰的評價。 – RoughTomato

+0

什麼是確切的預期產出? –

回答

1

請嘗試下面的代碼它是適合你的。

$array=Array 
    (
     [7] => Array 
      (
       [available] => No 
      ) 
     [8] => Array 
      (
       [available] => No 
      )    
     [9] => Array 
      (
       [available] => No 
      ) 
     [11] => Array 
      (
       [available] => Yes 
      ) 

    ) 
array_walk($array, function(&$value) { 
    $value['available'] = "Yes"; 
}); 

也看到http://php.net/manual/en/function.array-walk.php

+0

你已經忘記了退貨聲明。應該返回$ value ['available'] ==「Yes」; – j4k3

+1

不需要返回它的工作完美嘗試'print_r($ array)'。 –

+0

哦,你說得對。 array_walk通過引用傳遞。 – j4k3