Si j'ai un tableau avec des objets:
$a = array($objA, $objB);
(chaque objet a une méthode __toString()
-)
Comment puis-je convertir tous les éléments du tableau en chaîne de sorte que le tableau $a
ne contienne plus d'objets, mais leur représentation en chaîne? Existe-t-il une ligne ou dois-je parcourir manuellement le tableau?
Pas testé, mais quelque chose comme ça devrait le faire?
foreach($a as $key => $value) {
$new_arr[$key]=$value->__toString();
}
$a=$new_arr;
Recherchez-vous imploser ?
$array = array('lastname', 'email', 'phone');
$comma_separated = implode(",", $array);
echo $comma_separated; // lastname,email,phone
Je ne peux pas le tester pour le moment, mais pouvez-vous vérifier ce qui se passe lorsque implode()
un tel tableau? Le _toString devrait être appelé.
Alix Axel a la plus belle réponse. Vous pouvez également appliquer n'importe quoi au tableau avec array_map comme ...
//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);
Prendre plaisir