2015-06-01 24 views
-5

我有一個數組作爲$ array1,其中包含是和否值的列表 - 什麼是最優雅的方法來替換所有是和否值與1和0 ?用二進制值替換'是'和'否'的數組

語言:PHP。

+0

是,PHP哉! – TMT1

+0

你已經試過了什麼? –

回答

3

不確定您的「是」和「否」值是否已規範化,但可以使用數組對str_ireplace()執行不區分大小寫的搜索。如果他們總是一致的情況下,那麼你可以只使用str_replace()

$array1 = array('Yes','yes','NO','YES','no'); 
$array1_converted = str_ireplace(array('yes','no'), array(1,0), $array1); 
print_r($array1_converted); 

Array 
(
    [0] => 1 
    [1] => 1 
    [2] => 0 
    [3] => 1 
    [4] => 0 
) 
+0

正確。是/否規範化,是/否可以任何順序發生。是的,我正在學習,這有助於。謝謝。 – TMT1

1

您可以使用array_walk(),如下所示:

<?php 
$arr = array('Yes', 'no', 'YeS'); 
array_walk($arr, function(&$item, $key){$item = strtolower($item)=='yes' ? 1 : 0; }); 
print_r($arr); // output array is [1, 0, 1] 
?> 
+0

他說「優雅」;-) – billynoah

+0

當然,我只是在開玩笑。看到常見問題的不同方法總是很有趣。 – billynoah

相關問題