<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[阿Tim日志]]></title> 
<link>https://atim.cn/index.php</link> 
<description><![CDATA[专业的php开发者.开发团队的带队人]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[阿Tim日志]]></copyright>
<item>
<link>https://atim.cn/post//</link>
<title><![CDATA[无类分类算法理解]]></title> 
<author>bkkkd &lt;partybase@gmail.com&gt;</author>
<category><![CDATA[开发应用]]></category>
<pubDate>Tue, 04 Apr 2006 15:21:32 +0000</pubDate> 
<guid>https://atim.cn/post//</guid> 
<description>
<![CDATA[ 
	<p>&lt;? <br />//测试数据 <br />$ar = array( <br />array(id=&gt;1,pid=&gt;0), <br />array(id=&gt;2,pid=&gt;0), <br />array(id=&gt;3,pid=&gt;2), <br />array(id=&gt;4,pid=&gt;0), <br />array(id=&gt;5,pid=&gt;3), <br />array(id=&gt;6,pid=&gt;1), <br />array(id=&gt;7,pid=&gt;8), <br />array(id=&gt;8,pid=&gt;6), <br />array(id=&gt;9,pid=&gt;7), <br />array(id=&gt;10,pid=&gt;9) <br />); </p><p>//排序函数 <br />function cmd($a,$b) &#123; <br />if($a[pid]==$b[pid]) return 0; <br />return $a[pid]&gt;$b[pid]?1:-1; <br />&#125; </p><p>//排序，为避免数据中父节点在子节点后面出现，这种情况在多次修改数据后经常会发生的 <br />//排序的目的就是防止这种情况造成的混乱 <br />uasort($ar,cmd); </p><p>//定义目标数组 <br />$d = array(); <br />//定义索引数组，用于记录节点在目标数组的位置 <br />$ind = array(); </p><p>foreach($ar as $v) &#123; <br />$v[child] = array(); //给每个节点附加一个child项 <br />if($v[pid] == 0) &#123; <br />  $i = count($d); <br />  $d[$i] = $v; <br />  $ind[$v[id]] =&amp; $d[$i]; //关键! 指向目标数组 <br />&#125;else &#123; <br />  $i = count($ind[$v[pid]][child]); <br />  $ind[$v[pid]][child][$i] = $v; <br />  $ind[$v[id]] =&amp; $ind[$v[pid]][child][$i]; //添加到父亲的孩子节点, 前提,一定要排序!!! 不然就落空了!!(不知道怎么用语言表达...:( ) <br />&#125; <br />&#125; <br />//检查结果 <br />print_r($d); <br />?&gt; </p><p>这个算法以前自己也想过</p><p>但系发现了一个问题无法解决，就放下了</p><p>那个问题就是在顺序调乱的情况下无法进行</p><p>今天从phpe里看到这个算法</p><p>感觉到的确精辟</p><p>通过uasort解决了在顺序调乱的情况下</p><p />
]]>
</description>
</item><item>
<link>https://atim.cn/post//#blogcomment</link>
<title><![CDATA[[评论] 无类分类算法理解]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>https://atim.cn/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>