Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP如何在键位于变量中时从数组中获取值_Php_Arrays - Fatal编程技术网

PHP如何在键位于变量中时从数组中获取值

PHP如何在键位于变量中时从数组中获取值,php,arrays,Php,Arrays,我在变量中存储了一个键,如下所示: $key = 4; $value = $array[$key]; 我试图获得相关值,如下所示: $key = 4; $value = $array[$key]; 但它失败了。帮助。您的代码似乎没有问题,请确保指定的键确实存在于数组中,或者该键在数组中有值,例如: 输出: Array ( [0] => 4 ) $key = 4; $value = $array[$key]; print $value; Hello There 现在:

我在变量中存储了一个键,如下所示:

$key = 4;
$value = $array[$key];
我试图获得相关值,如下所示:

$key = 4;
$value = $array[$key];

但它失败了。帮助。

您的代码似乎没有问题,请确保指定的键确实存在于数组中,或者该键在数组中有值,例如:

输出:

Array
(
    [0] => 4
)
$key = 4;
$value = $array[$key];
print $value;
Hello There
现在:

Array
(
    [0] => 4
)
$key = 4;
$value = $array[$key];
print $value;
Hello There
输出:

Array
(
    [0] => 4
)
$key = 4;
$value = $array[$key];
print $value;
Hello There

它应该按照你想要的方式工作

$array = array('value-0', 'value-1', 'value-2', 'value-3', 'value-4', 'value-5' /* … */);
$key = 4;
$value = $array[$key];
echo $value; // value-4
但是可能没有键为
4
的元素。如果您想获取第五个项目,无论它有什么键,您可以使用:


正如其他人所说,它可能会失败,因为请求的密钥在数组中不存在。我这里有一个helper函数,它接受数组、可疑密钥,以及在密钥不存在时的默认返回

    protected function _getArrayValue($array, $key, $default = null)
    {
        if (isset($array[$key])) return $array[$key];
        return $default;
    }

希望能有帮助

“失败”是什么意思?有错误吗?您确定$array[4]中有值吗?因为您的语法是正确的-请在其他地方查找问题。您是否可以添加一些详细信息,例如$array的内容?