如何将数组元素转换为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, );