2016-09-04 58 views
1

我有一個這樣的數組....在一個陣列中仰望數據來建立另一個陣列

$interests = ['f13d6415ed' => 'Mailing', 'a6e5730911' => 'Friend-Family', '998f2252f5' => 'Friend-Patron', '6873081334' => 'Adult', '89c4c64d51' => 'Non-Acting', 'ea325784ac' => 'Life', '8ffdecd43d' => 'Youth Theatre', '6752d0543e' => 'Young Person',]; 

...我需要最終建立一個這樣的數組(在API調用中使用)...

'interests' => ['f13d6415ed'=>false, 'a6e5730911'=>false, '998f2252f5'=>false, '6873081334'=>true, '89c4c64d51'=>false, 'ea325784ac'=>false, '8ffdecd43d'=>false, '6752d0543e'=>false ], 

所以我可以做一個array_search()的第一陣列(給定文本項上),並獲得所需的關鍵。然後,我需要構建第二個數組,其中給定鍵(只有一個)的數據爲'true',其他所有數據爲'false'。第二個數組是api調用(Mailchimp)參數的一部分。 我可以看到幾種方法來做到這一點,但我不是一個PHP專家,他們都顯得很混亂。有什麼建議麼?
感謝

回答

1

使用array_fill_keysarray_keys功能的解決方案:

$interests = ['f13d6415ed' => 'Mailing', 'a6e5730911' => 'Friend-Family', '998f2252f5' => 'Friend-Patron', '6873081334' => 'Adult', '89c4c64d51' => 'Non-Acting', 'ea325784ac' => 'Life', '8ffdecd43d' => 'Youth Theatre', '6752d0543e' => 'Young Person',]; 

$new_arr = []; 
$keyTrue = '6873081334'; 
$new_arr['interests'] = array_fill_keys(array_keys($interests), false); 
$new_arr['interests'][$keyTrue] = true; 

var_dump($new_arr); 
+0

輝煌 - 感謝 – SteveGoodwin

+0

@ user2572858,歡迎您 – RomanPerekhrest