我有一个数组作为$ array1,其中包含Yes和No值的列表 - 用1和0替换所有Yes和No值的最优雅方法是什么?
语言:PHP。
答案 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]
?>