Scripts

RecursiveArrayObject

Class bedoelt om de functionaliteit van de SPL class ArrayObject te vergroten. Als je nu een een array erin gooit, loopt hij em door. Als hij een array tegen komt, vervangt hij het door zichzelf met de bijhorende contents. Mocht hij dan ge echoed worden in een foreach, geeft hij netjes 'Array' terug alsof je echo array(); doet. evt kan je de exception eraf halen maar dat is niet aangeraden.

recursivearrayobject
[code]
<?php
/**
 * @author iltar van der berg
 * @version 1.0.1
 */
class RecursiveArrayObject extends ArrayObject
{
	/**
	 * overwrites the ArrayObject constructor for 
	 * iteration through the "array". When the item
	 * is an array, it creates another self() instead
	 * of an array
	 * 
	 * @param Array $array data array
	 */
	public function __construct(Array $array)
	{	
		foreach($array as $key => $value) {
			if(is_array($value)){
				$value = new self($value);
			}
			$this->offsetSet($key, $value);
		}
	}
	
	/**
	 * returns Array when printed (like echo array();)
	 * instead of an error
	 *
	 * @return string
	 */
	public function __ToString()
	{
		return 'Array';
	}
}
?>
[/code]

Reacties

0
Nog geen reacties.