phpeveryday.com

The best tutorial of php, php framework, php strategies, object oriented oriented,


PHP Array: Searching Nested Array

Tag: array   Category: PHP Basic
post: 26 Mar 2008 read: 1,206


PHP Array Tips - Part 19: Do you want to search a series of nested arrays for a particular key or value? use like this:

<?php

function arrayRecursiveSearch($needle, $haystack, $path=""){
  if(!is_array($haystack)){
    die("second argument is not array");
  }
  
  global $matches;
  
  foreach($haystack as $key=>$value)
  {
    if(preg_match("/$needle/i", $key)){
	  $matches[] = array($path . "$key/", "KEY: $key");
	}
	
	if(is_array($value)){
	  $path .= "$key/";
	  arrayRecursiveSearch($needle, $value, $path);
	  unset($path);
	}else{
	  if(preg_match("/$needle/i", $value)){
	    $matches[] = array($path . "$key/", "VALUE: $value");
	  }
	}
  }
  
  return $matches;
}

$arr = array("Asia"=>array('rambutan','duku'),
              "Australia"=>array('pear','kiwi'),
			  "Arab"=>array('kurma'));

print_r(arrayRecursiveSearch("ra",$arr));
// result: Array ( [0] => Array ( [0] => Asia/0/ [1] => VALUE: rambutan ) [1] => Array ( [0] => Australia/ [1] => KEY: Australia ) [2] => Array ( [0] => Arab/ [1] => KEY: Arab ) )
?>


Series this article:
PHP Array: Processing Array Use SPL
PHP Array: Processing Nested Array
PHP Array: Using SPL to Process Nested Array
PHP Array: Counting Number of Elements
PHP Array: Converting Strings to Arrays
PHP Array: Converting Arrays to Strings
PHP Array: Swapping Array keys and Values
PHP Array: Adding element to an Array
PHP Array: Taking an Element off the beginning of the array
PHP Array: Adding an Element to the Beginning of the Array
PHP Array: Taking an element off the end of the array
PHP Array: Adding or removing elements from the middle of an array
PHP Array: Extracting Contiguous Segments of an Array
PHP Array: Removing Duplicate Array Elements
PHP Array: Re-indexing Array
PHP Array: Randomizing Array
PHP Array: Searching Arrays
PHP Array: Searching Nested Array
PHP Array: Reversing Arrays
PHP Array: Filtering Array Elements
PHP Array: Sorting Arrays

| Give Your Opinion | Recommend
Share and Bookmark to: These icons link to social bookmarking sites where readers can share and discover new web pages.
digg del.icio.us technorati Ma.gnolia BlinkList

Recommended articles by other readers:
Web Services: How PHP Kiss VB.NET? (Part 1)
Joomla: Fast Road to Understand Component Programming
Chart: How to Build Cool Animation Real Time Chart
Email: Send Attachement Mail
SMS : Sending SMS with PHP and ActiveXperts (Part 1)

What do You Think?
Your Name *:
Email *:
(Will not be published)
Website/URL:
Your Comment *:
* Required


624
posting