开发者

PHP how to get value from array if key is in a variable

开发者 https://www.devze.com 2022-12-20 05:47 出处:网络
I have a 开发者_如何学Pythonkey stored in a variable like so: $key = 4; I tried to get the relevant value like so:

I have a 开发者_如何学Pythonkey stored in a variable like so:

$key = 4;

I tried to get the relevant value like so:

$value = $array[$key];

but it failed. Help.


Your code seems to be fine, make sure that key you specify really exists in the array or such key has a value in your array eg:

$array = array(4 => 'Hello There');
print_r(array_keys($array));
// or better
print_r($array);

Output:

Array
(
    [0] => 4
)

Now:

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

Output:

Hello There


$value = ( array_key_exists($key, $array) && !empty($array[$key]) ) 
         ? $array[$key] 
         : 'non-existant or empty value key';


As others stated, it's likely failing because the requested key doesn't exist in the array. I have a helper function here that takes the array, the suspected key, as well as a default return in the event the key does not exist.

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

hope it helps.


It should work the way you intended.

$array = array('value-0', 'value-1', 'value-2', 'value-3', 'value-4', 'value-5' /* … */);
$key = 4;
$value = $array[$key];
echo $value; // value-4

But maybe there is no element with the key 4. If you want to get the fiveth item no matter what key it has, you can use array_slice:

$value = array_slice($array, 4, 1);
0

精彩评论

暂无评论...
验证码 换一张
取 消