如何将数组元素转换为PHP中的string?

如果我有一个数组与对象:

$a = array($objA, $objB); 

(每个对象都有一个__toString()方法)

我如何将所有数组元素转换为string,以便数组$a包含更多的对象,但它们的string表示forms? 是否有一个单线或我必须手动循环通过arrays?

单线:

 $a = array_map('strval', $a); 

请享用! ;)

你在寻找内爆吗?

 $array = array('lastname', 'email', 'phone'); $comma_separated = implode(",", $array); echo $comma_separated; // lastname,email,phone 

没有testing,但这样的事情应该这样做?

 foreach($a as $key => $value) { $new_arr[$key]=$value->__toString(); } $a=$new_arr; 

我现在不能testing它,但是你可以检查当你implode()这样一个数组时会发生什么? _toString 应该被调用。

Alix Axel有最好的答案。 你也可以应用任何东西到array_map像…

 //All your objects to string. $a = array_map(function($o){return (string)$o;}, $a); //All your objects to string with exclamation marks!!! $a = array_map(function($o){return (string)$o."!!!";}, $a); 

请享用

你有什么理由不能做到以下几点?

 $a = array( (string) $objA, (string) $objB, );