Array nach bestimtem Wert durchsuchen

Mittels json holte ich ein Array ab, welches im Detail folgendermassen aussieht (Gesamthaft 1700 Kunden-Einträge):

stdClass Object
(
    [cmd] => getData
    [result] => ok
    [list] => Array
        (
            [0] => Array
                (
                    [Active] => 1
                    [ZIP] => 3626
					[Notes] => 
                    [Prices] => Array
                        (
                            [0] => Array
                                (
                                    [Price] => 1.855
                                    [LastUpdate] => 2013-07-04
                                )

                            [1] => Array
                                (
                                    [Price] => 1.935
                                    [LastUpdate] => 2013-07-04
                                )

                            [2] => Array
                                (
                                    [Price] => 2.045
                                    [LastUpdate] => 2013-07-04
                                )

                            [3] => Array
                                (
                                    [Price] => 2.125
                                    [LastUpdate] => 2013-07-04
                                )

                        )

                )

            [1] => Array
                (
                    [Active] => 1
					[ZIP] => 3818
                    [Notes] => 
                     [Prices] => Array
                        (
                            [0] => Array
                                (
                                    [Price] => 1.859
                                    [LastUpdate] => 2013-06-04
                                )

                            [1] => Array
                                (
                                    [Price] => 1.939
                                    [LastUpdate] => 2013-06-04
                                )

                        )

                )

            [2] => Array
                (
                    [Active] => 1
                    [ZIP] => 3200
                    [Notes] => 
                    [Prices] => Array
                        (
                            [0] => Array
                                (
                                    [Price] => 1.8
                                    [LastUpdate] => 2013-08-20
                                )

                            [1] => Array
                                (
                                    [Price] => 1.87
                                    [LastUpdate] => 2013-08-20
                                )

                        )

                )

Nun möchte ich bei Übereinstimmung des Feldes [ZIP] mit einer Suche alle Felder dieses Eintrages („Active“ bis „LastUpdate“) als Ausgabe haben. Leider fehlt mir da der Ansatz zum weitermachen.

EDIT:

nun kommt’s schon mal als richtiges Array daher, aber mit der Suche bemühe ich mich trotzdem erfolglos.

z.B. so:

<?

//---------------------------------------------------------------------------
function ShowZipData($array, $zip)
{
	foreach ($array as $key => $val)
	{
		if ($val['ZIP'] === $zip)
		{
			echo "ZIP " . $zip . " found:" . "
";
			echo "Active is " . $val['Active'] . "
";
			echo "Notes is " . $val['Notes'] . "
";
			$idx = 1;
			foreach ($val['Prices'] as $key => $price)
			{
				echo "Price " . $idx . " is " . $price['Price'] . " on " . $price['LastUpdate'] . "
";
				$idx++;
			}
			return;
		}
	}
}

//---------------------------------------------------------------------------

	$testArray=Array
	(
            (0) => Array
                (
                    ('Active') => 1,
                    ('ZIP') => 3626,
                    ('Notes') => '',
                    ('Prices') => Array
                        (
                            (0) => Array
                                (
                                    ('Price') => 1.855,
                                    ('LastUpdate') => '2013-07-04'
                                ),

                            (1) => Array
                                (
                                    ('Price') => 1.935,
                                    ('LastUpdate') => '2013-07-04'
                                ),

                            (2) => Array
                                (
                                    ('Price') => 2.045,
                                    ('LastUpdate') => '2013-07-04'
                                ),

                            (3) => Array
                                (
                                    ('Price') => 2.125,
                                    ('LastUpdate') => '2013-07-04'
                                )
                        )
                ),

            (1) => Array
                (
                    ('Active') => 1,
                    ('ZIP') => 3818,
                    ('Notes') => '',
                     ('Prices') => Array
                        (
                            (0) => Array
                                (
                                    ('Price') => 1.859,
                                    ('LastUpdate') => '2013-06-04'
                                ),

                            (1) => Array
                                (
                                    ('Price') => 1.939,
                                    ('LastUpdate') => '2013-06-04'
                                )
                        )
                ),

            (2) => Array
                (
                    ('Active') => 1,
                    ('ZIP') => 3200,
                    ('Notes') => '',
                    ('Prices') => Array
                        (
                            (0) => Array
                                (
                                    ('Price') => 1.8,
                                    ('LastUpdate') => '2013-08-20'
                                ),

                            (1) => Array
                                (
                                    ('Price') => 1.87,
                                    ('LastUpdate') => '2013-08-20'
                                )
                        )
                )
	);

	ShowZipData($testArray, 3818);

?>

Egibt dann

ZIP 3818 found:
Active is 1
Notes is 
Price 1 is 1.859 on 2013-06-04
Price 2 is 1.939 on 2013-06-04

Gruss
Tinu