<?xml version="1.0" encoding="ISO-8859-1"?>

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
	<channel>
		<title>Dynamic Drive Forums - Submit a DHTML or CSS code</title>
		<link>http://www.dynamicdrive.com/forums/</link>
		<description>Use this forum to post a DHTML script for possible inclusion to our archive.</description>
		<language>en</language>
		<lastBuildDate>Wed, 22 May 2013 12:44:07 GMT</lastBuildDate>
		<generator>vBulletin</generator>
		<ttl>10</ttl>
		<image>
			<url>http://www.dynamicdrive.com/forums/images/misc/rss.png</url>
			<title>Dynamic Drive Forums - Submit a DHTML or CSS code</title>
			<link>http://www.dynamicdrive.com/forums/</link>
		</image>
		<item>
			<title>(PHP) array_path</title>
			<link>http://www.dynamicdrive.com/forums/showthread.php?73946-(PHP)-array_path&amp;goto=newpost</link>
			<pubDate>Tue, 21 May 2013 05:30:04 GMT</pubDate>
			<description>a useful PHP snippet.  enjoy :) 
 
Given a list of index keys (a path) and a subject array, checks if the path exists in the array and returns the end value if so. 
 
Limitation: cannot distinguish between a path that does not exist and a final value of null. 
You could throw an error/exception if...</description>
			<content:encoded><![CDATA[<div>a useful PHP snippet.  enjoy :)<br />
<br />
Given a list of index keys (a path) and a subject array, checks if the path exists in the array and returns the end value if so.<br />
<br />
Limitation: cannot distinguish between a path that does not exist and a final value of <code style="background-color: #FFFFBB">null</code>.<br />
You could throw an error/exception if this might ever be necessary (but it probably won't).<br />
<br />
<i><font size="3"><a href="https://gist.github.com/customanything/5617523" target="_blank">View on Github</a></font> (most recent version)</i><br />
<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	<hr /><code class="bbcode_code"><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br /></span><span style="color: #FF8000">/**<br />&nbsp;*&nbsp;allows&nbsp;dynamic&nbsp;access&nbsp;to&nbsp;multi-dimensional&nbsp;arrays<br />&nbsp;*&nbsp;(using&nbsp;a&nbsp;sequence&nbsp;of&nbsp;values&nbsp;as&nbsp;index&nbsp;keys).<br />&nbsp;*<br />&nbsp;*&nbsp;@author&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adrian&nbsp;Testa-Avila&nbsp;&lt;github@custom-anything.com&gt;<br />&nbsp;*&nbsp;@copyright&nbsp;&nbsp;2013&nbsp;Adrian&nbsp;Testa-Avila<br />&nbsp;*&nbsp;@license&nbsp;&nbsp;&nbsp;&nbsp;creative&nbsp;commons&nbsp;attribution-sharealike<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;http://creativecommons.org/licenses/by-sa/3.0/<br />&nbsp;*<br />&nbsp;*&nbsp;@param&nbsp;array&nbsp;$path&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list&nbsp;of&nbsp;index&nbsp;keys&nbsp;(index&nbsp;path&nbsp;to&nbsp;follow)<br />&nbsp;*&nbsp;@param&nbsp;array&nbsp;$array&nbsp;&nbsp;&nbsp;&nbsp;subject&nbsp;array<br />&nbsp;*&nbsp;@return&nbsp;mixed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;value&nbsp;at&nbsp;$array&#91;$path&#93;&nbsp;if&nbsp;set;&nbsp;<br />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;null&nbsp;otherwise<br />&nbsp;*/<br />&nbsp;<br /></span><span style="color: #007700">function&nbsp;</span><span style="color: #0000BB">array_path</span><span style="color: #007700">(&nbsp;array&nbsp;</span><span style="color: #0000BB">$path</span><span style="color: #007700">,array&nbsp;</span><span style="color: #0000BB">$array&nbsp;</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;foreach(&nbsp;</span><span style="color: #0000BB">$path&nbsp;</span><span style="color: #007700">as&nbsp;</span><span style="color: #0000BB">$index&nbsp;</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(&nbsp;isset(&nbsp;</span><span style="color: #0000BB">$array</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">$index</span><span style="color: #007700">&#93;&nbsp;)&nbsp;){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$array&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$array</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">$index</span><span style="color: #007700">&#93;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">null</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">$array</span><span style="color: #007700">;<br />}<br />&nbsp;<br /></span><span style="color: #FF8000">##&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EXAMPLE&nbsp;USAGE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;##<br />##&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uncomment&nbsp;to&nbsp;test&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;##<br />/*<br />&nbsp;<br />$a&nbsp;=&nbsp;array(<br />&nbsp;&nbsp;'one'&nbsp;=&gt;&nbsp;array(<br />&nbsp;&nbsp;&nbsp;&nbsp;'two'&nbsp;=&gt;&nbsp;array(<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'three'&nbsp;=&gt;&nbsp;'found&nbsp;me!'<br />&nbsp;&nbsp;&nbsp;&nbsp;)<br />&nbsp;&nbsp;)<br />);<br />&nbsp;<br />print&nbsp;array_path(&nbsp;array('one','two','three'),$a&nbsp;);<br />//&nbsp;prints&nbsp;"found&nbsp;me!"<br />&nbsp;<br />*/</span>
</span>
</code></code><hr />
</div></div>

]]></content:encoded>
			<category domain="http://www.dynamicdrive.com/forums/forumdisplay.php?3-Submit-a-DHTML-or-CSS-code">Submit a DHTML or CSS code</category>
			<dc:creator>traq</dc:creator>
			<guid isPermaLink="true">http://www.dynamicdrive.com/forums/showthread.php?73946-(PHP)-array_path</guid>
		</item>
	</channel>
</rss>
