PHP convertit l'objet array
Lorsqu'un objet avec des variables privées, à la conversion (cast) pour un tableau en php l'élément de tableau de clés sera commencé avec
*_
. Comment faire pour supprimer le "*_"s qui existe au début de la matrice de touches?
Par exemple
class Book {
private $_name;
private $_price;
}
le tableau après la coulée
array('*_name' => 'abc', '*_price' => '100')
Je veux
array('name' => 'abc', 'price' => '100')
Vous devez vous connecter pour publier un commentaire.
Je l'ai fait de cette façon
et quand je veux convertir un livre objet sur un tableau que j'appelle le toArray() la fonction
Vous êtes probablement en cours d'exécution dans des problèmes parce que vous êtes accéder aux variables privées à l'extérieur de la portée.
Essayez de changer d':
Ou, un hack:
$
avant de vos variables et à l'aide de la confidentialité de la portée. J'ai inclus un hack qui devrait réinitialiser les clés du tableau pour vous.pour ce faire correctement, vous devez avoir à mettre en œuvre un
toArray()
méthode dans votre classe. De cette façon, vous pouvez garder vos biens protégés et ont toujours accès à l'ensemble des propriétés.Il y a beaucoup de façons de le faire, voici une méthode utile si vous transmettez les données de l'objet dans le constructeur comme un tableau.
vous pouvez également créer un tableau à l'aide de votre getters et le code pour faire le tableau de regarder la façon dont vous le souhaitez. Vous pouvez également utiliser __set() et __get() pour effectuer ce travail.
quand tout est dit et fait le but serait d'avoir quelque chose qui fonctionne comme:
Voici les étapes à suivre pour Convertir un objet de tableau
1). Convertit l'Objet Array
2). Convertir le tableau en Chaîne json.
3). Remplacer la chaîne à supprimer "*_"