简体   繁体   English

PHP>如何将每个数组元素类型转换为字符串(递归)…?

[英]PHP > How to type-cast each array element to string (recursively)…?

For instance, how to convert the following array: 例如,如何转换以下数组:

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

To: 至:

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

You can write recursive function eg.: 您可以编写递归函数,例如:

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');

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM