Location: PHPKode > scripts > BowML > array_merge_deep.inc.php
<?php

/**
 * @return array
 * @param Array1 $pArr1
 * @param Array2 $pArr2
 * @desc Merges two arrays and return the merged array
*/
function array_merge_deep( $pArr1, $pArr2 )
{
	$tArr2 =& $pArr2;
	if(is_null($pArr2))
	{
		$tArr2 = array();
	}	
	
	$tArr = array();
	foreach( $pArr1 as $iKey1 => $iValue1 )
	{
		if ( is_null( $tArr2[ $iKey1 ] ))
			$tArr[ $iKey1 ] = $iValue1;
		else 
		{
			if ( is_array( $iValue1 ))   // require that that key always points to an array
				$tArr[ $iKey1 ] = array_merge_deep( $iValue1, $tArr2[ $iKey1 ] );
			else 
				$tArr[ $iKey1 ] = $tArr2[ $iKey1 ];
		}
	}
	foreach ( $tArr2 as $iKey2 => $iValue2 )
	{
		if ( is_null( $pArr1[ $iKey2 ] ))
			$tArr[ $iKey2 ] = $iValue2;
	}
	return $tArr;
}

function array_key_at_value($pArr, $pValue)
{
	foreach($pArr as $iKey => $iValue)
	{
		if($iValue == $pValue)
			return $iKey;
	}
}

function stringToArray($pString)
{
	return preg_split('//', $pString, -1, PREG_SPLIT_NO_EMPTY);
}

?>
Return current item: BowML