0

Je suis sur PHP53 si codeception 1,8valeur de tableau d'accès de l'objet de codeception

$response = (array)$I->grabDataFromJsonResponse("result"); 
\Codeception\Util\Debug::debug($response); 

    Array 
    (
     [*position] => 0 
     [*val] => Array 
      (
       [key1] => 10 
       [key2] => 1 
     ) 

     [*assocArray] => 1 
) 

Maintenant, lorsque je tente d'accéder aux valeurs dans le tableau, il me donne l'erreur

\Codeception\Util\Debug::debug($response['key1']); 

[ErrorException] Undefined index: key1 
+0

comme il devrait être. essayez '\ Codeception \ Util \ Debug :: debug ($ response ['* val'] ['key1']);' – Calimero

+0

@Calimero J'ai essayé cela, dit "Undefined index: * val" Comment les valeurs peuvent-elles être récupérées? ? – SoulMan

+0

$ réponse [0] ['* val'] ['key1'] –

Répondre

1

Ceci est dû à la Object -> array conversion

pour accéder aux propriétés protégées (préfixés par *), vous devez inclure les sourrounding octets nuls:

$response["\0*\0val"]['key1']

(notez les guillemets)

+0

Cela fonctionne! Cependant, je cherche aussi une réponse où je peux obtenir directement un tableau de la réponse en utilisant l'API de style BDD de codeception. – SoulMan

+0

Est ce que grabDataFromJsonResponse ne fait pas ça? – Naktibalda

+0

@Naktibalda grabDataFromJsonResponse n'est pas capable de prendre un chemin lorsque des tableaux sont impliqués. Aucune suggestion ? – SoulMan