J'ai un objet BIRD, puis il y a [0] à [10] et chaque numéro a une sous-position comme "bug" ou "beetle" ou "gnat" et une valeur pour chacun d'entre eux.
Je veux imprimer
BIRD
[0]
bug = > value
Je ne peux pas savoir comment faire cela n'importe où - on parle de PUBLIC et PRIVÉ et de CLASSE et c'est là que je tombe
Vous pouvez facilement le faire en tapant le type de l'objet:
$keys = array_keys((array)$BIRD);
Semblable à la réponse de brenjt, ceci utilise le get_object_vars
au lieu de taper un objet.
$array = get_object_vars($object);
$properties = array_keys($array);
Si l '"objet" est en fait un tableau associatif plutôt qu'un véritable objet, alors array_keys()
vous donnera ce dont vous avez besoin sans avertissements ni erreurs.
D'un autre côté, si votre objet est un vrai objet, vous obtiendrez alors un avertissement si vous essayez d'utiliser array_keys()
directement.
Vous pouvez extraire les paires clé-valeur d'un objet en tant que tableau associatif avec get_object_vars()
, vous pouvez ensuite en obtenir les clés avec array_keys()
:
$keysFromObject = array_keys(get_object_vars($anObject));