php - 在 XDebug for PHP 中使用键获取数组值

标签 php arrays xdebug

有了一个数组 $a 和一个键 $key,通常就像 $a[$key] 一样简单地获取数组中该键的值。 但是,如果数组是由如下函数返回的:

function getArray(){
    return array('a' => someObjectValue1, 'b' => someObjectValue2);
}
echo getArray()['a'];

,那么你不能简单地执行 getArray()[$key] ,因为在某些版本的 PHP 中,这会给你

Parse error: syntax error, unexpected '[', expecting ',' or ';'

那么当然像这样的事情会起作用:

$a = getArray();
echo $a['a'];

但我在 XDebug 的 Watch 窗口中,但无法执行此操作。

有什么想法吗? 谢谢。

最佳答案

有不同的方法可以解决这个问题。例如,用于显示所需值的一行可能是:

function foo()
{
   return array('bar'=>1, 'baz'=>2);
}

$value = array_shift(array_intersect_key(foo(), array('baz'=>null))); //you want $value

- 但这看起来很奇怪,创建调试功能可能有意义,例如:

function getValueByKey(array $array, $key)
{
   return $array[$key];
}

$value = getValueByKey(foo(), 'baz');

关于php - 在 XDebug for PHP 中使用键获取数组值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19927529/

相关文章:

php - Symfony2, Composer ,您的 PHP 版本(5.6.18)被 "config.platform.php"版本(5.3.9)覆盖不满足要求

php - 表格在使用 PHP 邮件发送的电子邮件中不显示行和列边框

php - 将 laravel 对象转换为数组

java - 添加第二列与第一列中的重复元素

php - 如何为命令行 PHP 脚本触发 XDebug 探查器?

linux - PHP 8.0 : How to apply xdebug. 初始化

php - 选择并发布问题 (PHP)

c++ - 用随机值填充我的数组 C++

javascript - Sort 方法将 json 排序为包含唯一值数组的 json

php - 是否有 PHP 设置来设置是否可以索引函数的结果?