
Untitled
By: a guest on
Jul 29th, 2012 | syntax:
None | size: 1.72 KB | hits: 9 | expires: Never
PHP looping multidimensional array
function loop($arr, $find) {
for($i=0;$i<count($arr);$i++) {
if($arr[$i] == $find) {
print "Found $find";
return true;
} else {
if(is_array($arr[$i])) {
$this->loop($arr[$i], $find);
} else {
print "Couldn't find $find";
return false;
}
}
}
}
var $found = false;
function loop($arr, $find) {
foreach($arr as $k=>$v){
if($find==$v){
$this->found = true;
}elseif(is_array($v)){
$this->loop($v, $find);
}
}
return $this->found;
}
function array_search_key( $needle_key, $array ) {
foreach($array AS $key=>$value){
if($key == $needle_key) return $value;
if(is_array($value)){
if( ($result = array_search_key($needle_key,$value)) !== false)
return $result;
}
}
return false;
}
function loop($arr, $find) {
for($i=0;$i<count($arr);$i++) {
if(is_array($arr[$i])) {
$this->loop($arr[$i], $find);
} else {
if($arr[$i] == $find) {
print "Found $find";
return true;
}
}
}
return false;
}
class ArraySearch
{
public $needle;
public $found;
public function Find($value, $key)
{
if ($this->needle == $value)
$this->found = true;
}
}
//test data of nested array
$sweet = array('a' => 'apple', 'b' => 'banana');
$fruits = array('sweet' => $sweet, 'sour' => 'lemon');
// search for banana
$searcher = new ArraySearch();
$searcher->needle = "banana";
array_walk_recursive($fruits, array($searcher, 'Find'));
// print result
echo('result = '.$searcher->found);