3v4l.org

run code in 500+ PHP versions simultaneously
<?php $arr = [['ID' => 1, 'Name' => 'My Name', 'GroupLocations' => [['GroupId' => 111, 'LocationId' => 222, 'Location' => ['Name' => 'MyLocation', 'Street1' => '555 Somewhere Lane']]]]]; $results = []; // the container for the search result(s) $key = 'Name'; // the key we are looking for findKey($arr, $key, $results); // invoke the search function /* NEW */ $count = count($results); for($i = 0; $i < $count; $i++) { $myVar = 'value' . $i; // set your base variable name $$myVar = $results[$i][$key]; // assign found value to new variable echo 'created variable: ' . '$value' . $i . ' - value : ' . $$myVar . "\n"; } echo $value0 ? $value0 : 'n/a'; echo $value1 ? $value1 : 'n/a'; // etc. /* END NEW */ /** * @param array $arr the multidimensional array we are searching * @param string $key the key we are looking for * @param $results passed by reference - in case the key is found, this array 'stores' the corresponding key-value pair. */ function findKey($arr = [], $key = '', &$results = []) { foreach ($arr as $key0 => $value0) { if ($key0 == $key && !is_array($value0)) { $results[][$key] = $value0; } if (is_array($value0)) { findKey($value0, $key, $results); } } return false; }
Output for 7.1.26 - 7.1.33, 7.2.17 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.34, 8.2.0 - 8.2.30, 8.3.0 - 8.3.30, 8.4.1 - 8.4.18, 8.5.0 - 8.5.3
created variable: $value0 - value : My Name created variable: $value1 - value : MyLocation My NameMyLocation

preferences:
121.1 ms | 1433 KiB | 4 Q