Searching for parts of string in multi level array
<p>Is there a function that allows me to search inside a multidimensional array that goes multiple levels deep? An example of an array can be found below.</p>

<p>What I want is to be able to search in the entire array, regardless of how deep it goes (3 levels deep would be the practical limit though). The search must be done in all of the strings inside the array elements, and to make it even more complex, it needs to be able to find parts of a string in the array (preferably case insensitive).</p>

<p>I've searched for a good class or function that can handle this in a fast and efficient way, but haven't found one so far.</p>

<pre><code>Array
(
    [0] =&gt; Array
        (
            [OrderReferenceNumber] =&gt; 201100196
            [OrderCustomerID] =&gt; 01239123
            [OrderCustomerName] =&gt; test
            [OrderHistoryItems] =&gt; Array
                (
                    [0] =&gt; Array
                        (
                            [OrderItem] =&gt; productID
                            [OrderItemGroup] =&gt; productName
                        )

                )

        )
</code></pre>

<p>Much appreciated!</p>
