Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

PHP - Get Array value by Index instead of Key


I've got a multidimensional array returned by an API call. The values into this array are stored with a key like this :

Array(["BTC_XRP"] => 1)

I can get the values of the Array by getting them using the keys (like BTC_XRP), but what if I need to get the value using the Index?
For example, how do I get each value of the Array using a for loop if I can't get the values by the Index?
Since the Array is composed by something like 100 values, I need to echo every one using a for loop, but this gives me this error :

Notice: Undefined offset: 0

Is it possible to get to a value using the Index instead of the Key?
Furthermore, I'd like to get the Key by the Index. If I want to get the Key of the first value, I'd like to get it using the 0 Index.
Thanks!

like image 642
DamiToma Avatar asked Apr 02 '17 11:04

DamiToma


People also ask

How do you get the index of an element in an array in PHP?

We can get the array index by using the array_search() function. This function is used to search for the given element.

How do you get a specific value from an array?

Use filter if you want to find all items in an array that meet a specific condition. Use find if you want to check if that at least one item meets a specific condition. Use includes if you want to check if an array contains a particular value. Use indexOf if you want to find the index of a particular item in an array.

What is array_keys () used for?

The array_keys() function returns all the keys of an array. It returns an array of all the keys in array.

How do you find the associative array of a key?

Answer: Use the PHP array_keys() function You can use the PHP array_keys() function to get all the keys out of an associative array.


Video Answer


2 Answers

Sounds like you are in search of array_keys (to get key by index) and array_values (to get value by index) functions:

$array = array("BTC_XRP" => 1, "EUR_XRP" => 234, "USD_XRP" => 567);
$keys   = array_keys( $array );
$values = array_values( $array );

var_dump( $keys[1] ); // string(7) "EUR_XRP"
var_dump( $values[1] ); // int(234)

Or use a foreach as Joshua suggests.

like image 164
gruneey85 Avatar answered Nov 10 '22 00:11

gruneey85


Try:

foreach ($array as $key => $value) {
  echo "Key: $key";
}

Where $array is the array you want to loop through.

It will print out all the keys

like image 37
joshua miller Avatar answered Nov 10 '22 00:11

joshua miller