PHP>;如何将每个数组元素类型强制转换为字符串(递归).


PHP > How to type-cast each array element to string (recursively)...?

例如,如何转换以下数组:

$array1 = array("value1" => "20", "value2" => 40, array("value3" => 60));

收件人:

$array1 = array("value1" => "20", "value2" => "40", array("value3" => "60"));
array_walk_recursive($array, function (&$value) { $value = (string)$value; });

您可以编写递归函数,例如:

function strArr($inp){
    $res=array();
    foreach($inp as $k=>$v){
        if(is_array($v)) $res[$k]=strArr($v);
        else $res[$k]=strval($v);
    }
    return $res;
}
$array1 = array("value1" => "20", "value2" => 40, array("value3" => 60));
$array2 = strArr($array1);

在不支持lambda函数的情况下将每个元素转换为字符串:

array_walk_recursive($array, 'strval');