You may want to use recursion for this. See this example for a demonstration.
Outputs:
string(11) "I need this"
<?php
// Your input array.
$array = ["test" => "value", "test_2" => ["test_3" => "values", "test_4" => ["test_5" => ["myvalue" => "I need this"]]]];
// Recursive function to get your value by key, independent of where it exists in your array.
function getValue(array $haystack, string $searchKey)
{
    // Loop through your input array.
    foreach ($haystack as $key => $value)
    {
        // If we find a node that is an array, descend into it.
        if (is_array($value))
        {
            echo "Descending into $key\n";
            // Recurse.
            return getValue($value, $searchKey);
        }
        else
        {
            // Leaf node found.
            echo "Reached end of tree at $key\n";
            
            // Is it our key?
            if ($key === $searchKey)
            {
                // Return it.
                echo "Found it: $value\n";
                return $value;
            }
        }
    }
}
var_dump(getValue($array, 'myvalue')); // string(11) "I need this"
Full output:
string(5) "value"
Reached end of tree at test
array(2) {
  ["test_3"]=>
  string(6) "values"
  ["test_4"]=>
  array(1) {
    ["test_5"]=>
    array(1) {
      ["myvalue"]=>
      string(11) "I need this"
    }
  }
}
Descending into test_2
string(6) "values"
Reached end of tree at test_3
array(1) {
  ["test_5"]=>
  array(1) {
    ["myvalue"]=>
    string(11) "I need this"
  }
}
Descending into test_4
array(1) {
  ["myvalue"]=>
  string(11) "I need this"
}
Descending into test_5
string(11) "I need this"
Reached end of tree at myvalue
Found it: I need this
string(11) "I need this"