替换'是'和'不'二进制值

时间:2015-06-01 16:40:34

标签: php arrays

我有一个数组作为$ array1,其中包含Yes和No值的列表 - 用1和0替换所有Yes和No值的最优雅方法是什么?

语言:PHP。

2 个答案:

答案 0 :(得分:3)

不确定您的Yes和No值是否已标准化,但您可以使用数组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
)

答案 1 :(得分: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]
?>