J'utilise une classe PHP que quelqu'un a écrite pour se connecter à l'API BaseCamp.
L'appel que je fais est de récupérer les éléments d'une liste de tâches, ce qui fonctionne bien.
Mon problème est, je ne sais pas comment accéder seulement à la todo-items
_ propriété de l'objet renvoyé. Voici le var_dump de l'objet retourné:
object(stdClass)[6]
public 'completed-count' => string '0' (length=1)
public 'description' => string 'Description String' (length=89)
public 'id' => string '12345' (length=7)
public 'milestone-id' => string '' (length=0)
public 'name' => string 'Error Reports' (length=13)
public 'position' => string '1' (length=1)
public 'private' => string 'false' (length=5)
public 'project-id' => string '58904' (length=7)
public 'tracked' => string 'false' (length=5)
public 'uncompleted-count' => string '1' (length=1)
public 'todo-items' =>
object(stdClass)[3]
public 'todo-item' =>
object(stdClass)[5]
public 'completed' => string 'false' (length=5)
public 'content' => string 'content string here' (length=133)
public 'created-on' => string '2009-04-16T20:33:31Z' (length=20)
public 'creator-id' => string '23423' (length=7)
public 'id' => string '234' (length=8)
public 'position' => string '1' (length=1)
public 'responsible-party-id' => string '2844499' (length=7)
public 'responsible-party-type' => string 'Person' (length=6)
public 'todo-list-id' => string '234234' (length=7)
public 'complete' => string 'false' (length=5)
Comment puis-je accéder au todo-items
partie de cet objet?
<?php
$x = new StdClass();
$x->{'todo-list'} = 'fred';
var_dump($x);
Donc, $ object -> {'todo-list'} est le sous-objet. Si vous pouvez le définir comme cela, vous pouvez également le lire de la même manière.
Si vous voulez le convertir en un tableau, ce qui peut être un peu plus facilement (c’est-à-dire l’accès évident à $ ret ['todo-list']), ce code est pris presque intégralement de Zend_Config et sera converti pour vous.
public function toArray()
{
$array = array();
foreach ($this->_data as $key => $value) {
if ($value instanceof StdClass) {
$array[$key] = $value->toArray();
} else {
$array[$key] = $value;
}
}
return $array;
}
Essayez ce moyen le plus simple!
$obj = $myobject->{'mydash-value'};
$objToArray = array($obj);