从 codeception 对象访问数组值
Posted
技术标签:
【中文标题】从 codeception 对象访问数组值【英文标题】:Access array value from codeception object 【发布时间】:2015-11-26 10:45:50 【问题描述】:我在 php53 上所以 codeception 1.8
$response = (array)$I->grabDataFromJsonResponse("result");
\Codeception\Util\Debug::debug($response);
Array
(
[*position] => 0
[*val] => Array
(
[key1] => 10
[key2] => 1
)
[*assocArray] => 1
)
现在当我尝试访问数组中的值时,它给了我错误
\Codeception\Util\Debug::debug($response['key1']);
[ErrorException] Undefined index: key1
【问题讨论】:
应该如此。试试\Codeception\Util\Debug::debug($response['*val']['key1']);
@Calimero 我试过了,说“未定义的索引:*val”如何获取值?
$response[0]['*val']['key1']
@MA-Maddin 注意:未定义的偏移量:0
【参考方案1】:
这是因为Object -> array conversion
要访问受保护的属性(以 * 开头),您必须包含周围的空字节:
$response["\0*\0val"]['key1']
(注意双引号)
【讨论】:
这行得通!但是,我也在寻找一个答案,我可以使用 codeception BDD 样式 API 直接从响应中获取数组。 grabDataFromJsonResponse 不这样做吗? @Naktibalda grabDataFromJsonResponse 在涉及数组时无法选择路径。有什么建议吗?以上是关于从 codeception 对象访问数组值的主要内容,如果未能解决你的问题,请参考以下文章
PhantomJS 无法访问自签名 HTTPS 页面 Codeception
如何使用角度 7 从对象数组中返回 userPass 的值?