24

If I have an associate array with only one key and one element myArray =array("myKey"=>123), but I don't know the name of the key, how do I get the value? For instance, if I don't know my key is called myKey, how do I return 123? I know I can use foreach($myArray as $key=>$value) but I feel there should be a better way.

3 Answers 3

45

You can use current():

$value = current($array);

or, if you want the key as well, each():

list($key, $value) = each($array);
Sign up to request clarification or add additional context in comments.

2 Comments

Never heard of current(). Let me test it. Thanks
each function has been DEPRECATED as of PHP 7.2.0, and REMOVED as of PHP 8.0.0. Relying on this function is highly discouraged.
4

Alternatively in my case, I also needed the keyname.

$key = key($array);

$value = $array[$key];

Get the key name from array then use the key to get the value from array.

Comments

0

Since php7.3 you can use array_key_first:

$myArray = array("myKey"=>123);
$key = array_key_first($myArray);
echo $myArray[$key];    // outputs 123

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.