note 68424 modified in function.array-search by danbrown

From: Date: Wed, 29 Apr 2009 13:00:47 +0000
Subject: note 68424 modified in function.array-search by danbrown
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-153984@lists.php.net to get a copy of this message
<?php /** * Searches haystack for needle and returns an array of the key path if it is found in the (multidimensional) array, FALSE otherwise. * * mixed array_searchRecursive ( mixed needle, array haystack [, bool strict[, array path]] ) */ function array_searchRecursive( $needle, $haystack, $strict=false, $path=array() ) { if( !is_array($haystack) ) { return false; } foreach( $haystack as $key => $val ) { if( is_array($val) && $subPath = array_searchRecursive($needle, $val, $strict, $path) ) { $path = array_merge($path, array($key), $subPath); return $path; } elseif( (!$strict && $val == $needle) || ($strict && $val === $needle) ) { $path[] = $key; return $path; } } return false; } ?> --was-- /** * Searches haystack for needle and returns an array of the key path if it is found in the (multidimensional) array, FALSE otherwise. * * mixed array_searchRecursive ( mixed needle, array haystack [, bool strict[, array path]] ) */ function array_searchRecursive( $needle, $haystack, $strict=false, $path=array() ) { if( !is_array($haystack) ) { return false; } foreach( $haystack as $key => $val ) { if( is_array($val) && $subPath = array_searchRecursive($needle, $val, $strict, $path) ) { $path = array_merge($path, array($key), $subPath); return $path; } elseif( (!$strict && $val == $needle) || ($strict && $val === $needle) ) { $path[] = $key; return $path; } } return false; } http://php.net/manual/en/function.array-search.php

« previous php.notes (#153984) next »