<?xml version="1.0" encoding="UTF-8"?> <rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
><channel><title>代码收藏</title> <atom:link href="http://code.9enjoy.com/feed/" rel="self" type="application/rss+xml" /><link>http://code.9enjoy.com</link> <description>收集网站开发时常用到的代码(asp,php,js等)，以函数为主</description> <lastBuildDate>Mon, 24 Jan 2011 14:23:49 +0000</lastBuildDate> <generator>http://wordpress.org/?v=2.9.1</generator> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <item><title>递归删除目录及目录下的文件-rrmdir</title><link>http://code.9enjoy.com/php/rrmdir/</link> <comments>http://code.9enjoy.com/php/rrmdir/#comments</comments> <pubDate>Mon, 24 Jan 2011 14:23:49 +0000</pubDate> <dc:creator>enjoy</dc:creator> <category><![CDATA[php]]></category> <category><![CDATA[删除]]></category><guid
isPermaLink="false">http://code.9enjoy.com/?p=175</guid> <description><![CDATA[php自带的rmdir，只能删除空目录，这个rrmdir就可以递归删除目录及目录下的所有文件，不过使用起来要小心哦，不要把所有文件都删了。
 function rrmdir($dir) {
   if (is_dir($dir)) {
     $objects = scandir($dir);
     foreach ($objects as $object) {
       if ($object != &#8220;.&#8221; &#38;&#38; $object != &#8220;..&#8221;) {
         if (filetype($dir.&#8221;/&#8221;.$object) == &#8220;dir&#8221;) rrmdir($dir.&#8221;/&#8221;.$object); else unlink($dir.&#8221;/&#8221;.$object);
       }
     }
     reset($objects); 
   }
 }
]]></description> <content:encoded><![CDATA[<p>php自带的rmdir，只能删除空目录，这个rrmdir就可以递归删除目录及目录下的所有文件，不过使用起来要小心哦，不要把所有文件都删了。</p><p> function rrmdir($dir) {<br
/>    if (is_dir($dir)) {<br
/>      $objects = scandir($dir);<br
/>      foreach ($objects as $object) {<br
/>        if ($object != &#8220;.&#8221; &amp;&amp; $object != &#8220;..&#8221;) {<br
/>          if (filetype($dir.&#8221;/&#8221;.$object) == &#8220;dir&#8221;) rrmdir($dir.&#8221;/&#8221;.$object); else unlink($dir.&#8221;/&#8221;.$object);<br
/>        }<br
/>      }<br
/>      reset($objects); <br
/>    }<br
/>  }</p> <img
src="http://code.9enjoy.com/?ak_action=api_record_view&id=175&type=feed" alt="" />]]></content:encoded> <wfw:commentRss>http://code.9enjoy.com/php/rrmdir/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>去掉 HTML 标记，javascript 代码</title><link>http://code.9enjoy.com/php/trip_html/</link> <comments>http://code.9enjoy.com/php/trip_html/#comments</comments> <pubDate>Wed, 12 May 2010 13:51:08 +0000</pubDate> <dc:creator>enjoy</dc:creator> <category><![CDATA[php]]></category><guid
isPermaLink="false">http://code.9enjoy.com/?p=173</guid> <description><![CDATA[function trip_html( $html, $len ) {
// $html 应包含一个 HTML 文档。
// 本例将去掉 HTML 标记，javascript 代码
// 和空白字符。还会将一些通用的
// HTML 实体转换成相应的文本。
$search = array (&#8220;&#8216;&#60;script[^&#62;]*?&#62;.*?&#60;/script&#62;&#8217;si&#8221;,  // 去掉 javascript
&#8220;&#8216;&#60;[\/\!]*?[^&#60;&#62;]*?&#62;&#8217;si&#8221;,           // 去掉 HTML 标记
&#8220;&#8216;([\r\n])[\s]+&#8217;&#8221;,                 // 去掉空白字符
&#8220;&#8216;&#38;(quot&#124;#34);&#8217;i&#8221;,                 // 替换 HTML 实体
&#8220;&#8216;&#38;(amp&#124;#38);&#8217;i&#8221;,
&#8220;&#8216;&#38;(lt&#124;#60);&#8217;i&#8221;,
&#8220;&#8216;&#38;(gt&#124;#62);&#8217;i&#8221;,
&#8220;&#8216;&#38;(nbsp&#124;#160);&#8217;i&#8221;,
&#8220;&#8216;&#38;(iexcl&#124;#161);&#8217;i&#8221;,
&#8220;&#8216;&#38;(cent&#124;#162);&#8217;i&#8221;,
&#8220;&#8216;&#38;(pound&#124;#163);&#8217;i&#8221;,
&#8220;&#8216;&#38;(copy&#124;#169);&#8217;i&#8221;,
&#8220;&#8216;&#38;#(\d+);&#8217;e&#8221;);                    // 作为 PHP 代码运行
$replace = array (&#8220;&#8221;,
&#8220;&#8221;,
&#8220;\\1&#8243;,
&#8220;\&#8221;",
&#8220;&#38;&#8221;,
&#8220;&#60;&#8221;,
&#8220;&#62;&#8221;,
&#8220; &#8221;,
chr(161),
chr(162),
chr(163),
chr(169),
&#8220;chr(\\1)&#8221;);
$text = preg_replace ($search, $replace, $html);
$text = trim($text);
return mb_strlen($text) &#62;= $len ? mb_substr($text, 0, $len) : &#8221;;
}
]]></description> <content:encoded><![CDATA[<p>function trip_html( $html, $len ) {<br
/> // $html 应包含一个 HTML 文档。<br
/> // 本例将去掉 HTML 标记，javascript 代码<br
/> // 和空白字符。还会将一些通用的<br
/> // HTML 实体转换成相应的文本。<br
/> $search = array (&#8220;&#8216;&lt;script[^&gt;]*?&gt;.*?&lt;/script&gt;&#8217;si&#8221;,  // 去掉 javascript<br
/> &#8220;&#8216;&lt;[\/\!]*?[^&lt;&gt;]*?&gt;&#8217;si&#8221;,           // 去掉 HTML 标记<br
/> &#8220;&#8216;([\r\n])[\s]+&#8217;&#8221;,                 // 去掉空白字符<br
/> &#8220;&#8216;&amp;(quot|#34);&#8217;i&#8221;,                 // 替换 HTML 实体<br
/> &#8220;&#8216;&amp;(amp|#38);&#8217;i&#8221;,<br
/> &#8220;&#8216;&amp;(lt|#60);&#8217;i&#8221;,<br
/> &#8220;&#8216;&amp;(gt|#62);&#8217;i&#8221;,<br
/> &#8220;&#8216;&amp;(nbsp|#160);&#8217;i&#8221;,<br
/> &#8220;&#8216;&amp;(iexcl|#161);&#8217;i&#8221;,<br
/> &#8220;&#8216;&amp;(cent|#162);&#8217;i&#8221;,<br
/> &#8220;&#8216;&amp;(pound|#163);&#8217;i&#8221;,<br
/> &#8220;&#8216;&amp;(copy|#169);&#8217;i&#8221;,<br
/> &#8220;&#8216;&amp;#(\d+);&#8217;e&#8221;);                    // 作为 PHP 代码运行<br
/> $replace = array (&#8220;&#8221;,<br
/> &#8220;&#8221;,<br
/> &#8220;\\1&#8243;,<br
/> &#8220;\&#8221;",<br
/> &#8220;&amp;&#8221;,<br
/> &#8220;&lt;&#8221;,<br
/> &#8220;&gt;&#8221;,<br
/> &#8220; &#8221;,<br
/> chr(161),<br
/> chr(162),<br
/> chr(163),<br
/> chr(169),<br
/> &#8220;chr(\\1)&#8221;);<br
/> $text = preg_replace ($search, $replace, $html);<br
/> $text = trim($text);<br
/> return mb_strlen($text) &gt;= $len ? mb_substr($text, 0, $len) : &#8221;;<br
/> }</p> <img
src="http://code.9enjoy.com/?ak_action=api_record_view&id=173&type=feed" alt="" />]]></content:encoded> <wfw:commentRss>http://code.9enjoy.com/php/trip_html/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>ASP来实现UTF8转换GB2312国标码</title><link>http://code.9enjoy.com/asp/gb2utf8/</link> <comments>http://code.9enjoy.com/asp/gb2utf8/#comments</comments> <pubDate>Tue, 06 Apr 2010 14:12:33 +0000</pubDate> <dc:creator>enjoy</dc:creator> <category><![CDATA[asp]]></category> <category><![CDATA[gb2312]]></category> <category><![CDATA[utf8]]></category> <category><![CDATA[字符串]]></category><guid
isPermaLink="false">http://code.9enjoy.com/?p=170</guid> <description><![CDATA[ASP来实现UTF8转换GB2312国标码-GB2312转UTF-8
&#8216;个人代码风格注释（变量名中第一个小写字母表表示变量类型）
&#8216;i:为Integer型;
&#8217;s:为String;
Function U2UTF8(Byval a_iNum)
    Dim sResult,sUTF8
    Dim iTemp,iHexNum,i
    iHexNum = Trim(a_iNum)
    If iHexNum = &#8220;&#8221; Then
        Exit Function
    End If
    sResult = &#8220;&#8221;
    If (iHexNum &#60; 128) Then
        sResult = sResult &#38; iHexNum
    ElseIf (iHexNum &#60; 2048) Then
        sResult = ChrB(&#38;H80 + (iHexNum And &#38;H3F))
        iHexNum = iHexNum \ &#38;H40
        sResult = ChrB(&#38;HC0 + (iHexNum And [...]]]></description> <content:encoded><![CDATA[<p>ASP来实现UTF8转换GB2312国标码-GB2312转UTF-8</p><p>&#8216;个人代码风格注释（变量名中第一个小写字母表表示变量类型）<br
/> &#8216;i:为Integer型;<br
/> &#8217;s:为String;<br
/> Function U2UTF8(Byval a_iNum)<br
/>     Dim sResult,sUTF8<br
/>     Dim iTemp,iHexNum,i</p><p>    iHexNum = Trim(a_iNum)</p><p>    If iHexNum = &#8220;&#8221; Then<br
/>         Exit Function<br
/>     End If</p><p>    sResult = &#8220;&#8221;</p><p>    If (iHexNum &lt; 128) Then<br
/>         sResult = sResult &amp; iHexNum<br
/>     ElseIf (iHexNum &lt; 2048) Then<br
/>         sResult = ChrB(&amp;H80 + (iHexNum And &amp;H3F))<br
/>         iHexNum = iHexNum \ &amp;H40<br
/>         sResult = ChrB(&amp;HC0 + (iHexNum And &amp;H1F)) &amp; sResult<br
/>     ElseIf (iHexNum &lt; 65536) Then<br
/>         sResult = ChrB(&amp;H80 + (iHexNum And &amp;H3F))<br
/>         iHexNum = iHexNum \ &amp;H40<br
/>         sResult = ChrB(&amp;H80 + (iHexNum And &amp;H3F)) &amp; sResult<br
/>         iHexNum = iHexNum \ &amp;H40<br
/>         sResult = ChrB(&amp;HE0 + (iHexNum And &amp;HF)) &amp; sResult<br
/>     End If</p><p>    U2UTF8 = sResult<br
/> End Function</p><p>Function GB2UTF(Byval a_sStr)<br
/>     Dim sGB,sResult,sTemp<br
/>     Dim iLen,iUnicode,iTemp,i</p><p>    sGB = Trim(a_sStr)<br
/>     iLen = Len(sGB)<br
/>     For i = 1 To iLen<br
/>          sTemp = Mid(sGB,i,1)<br
/>          iTemp = Asc(sTemp)</p><p>         If (iTemp&gt;127 OR iTemp&lt;0) Then<br
/>              iUnicode = AscW(sTemp)<br
/>              If iUnicode&lt;0 Then<br
/>                  iUnicode = iUnicode + 65536<br
/>              End If<br
/>         Else<br
/>             iUnicode = iTemp<br
/>         End If</p><p>        sResult = sResult &amp; U2UTF8(iUnicode)<br
/>     Next</p><p>    GB2UTF = sResult<br
/> End Function</p><p>&#8216;调用方法<br
/> Response.BinaryWrite(GB2UTF(&#8220;中国人&#8221;))<br
/> 该文章出自《TOMMYHU&#8217;s blog》,原文链接：<a
href="http://www.tommyhu.cn/asp-to-achieve-utf8-conversion-gb2312-gb-code/">http://www.tommyhu.cn/asp-to-achieve-utf8-conversion-gb2312-gb-code/</a></p><p>转载时间是: 2010-04-06 07:09:31 请务必保留此链接，谢谢！</p> <img
src="http://code.9enjoy.com/?ak_action=api_record_view&id=170&type=feed" alt="" />]]></content:encoded> <wfw:commentRss>http://code.9enjoy.com/asp/gb2utf8/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>二维数组的array_unique函数</title><link>http://code.9enjoy.com/php/array_unique_fb/</link> <comments>http://code.9enjoy.com/php/array_unique_fb/#comments</comments> <pubDate>Thu, 04 Mar 2010 02:49:55 +0000</pubDate> <dc:creator>enjoy</dc:creator> <category><![CDATA[php]]></category> <category><![CDATA[数组]]></category> <category><![CDATA[重复]]></category><guid
isPermaLink="false">http://code.9enjoy.com/?p=167</guid> <description><![CDATA[关于php的array_unique函数，此函数只适用于一维数组，对多维数组并不适用，以下提供一个二维数组的array_unique函数 
//二维数组去掉重复值
function array_unique_fb($array2D){  
     foreach ($array2D as $v){
         $v = join(&#8220;,&#8221;,$v);              //降维,也可以用implode,将一维数组转换为用逗号连接的字符串
         $temp[] = $v;
     }
     $temp = array_unique($temp);      //去掉重复的字符串,也就是重复的一维数组
    foreach ($temp as $k =&#62; $v){
        $temp[$k] = explode(&#8220;,&#8221;,$v);       //再将拆开的数组重新组装
    }
    return $temp;
}
原文：http://blog.sina.com.cn/s/blog_60c5cbf50100e4qz.html
]]></description> <content:encoded><![CDATA[<p>关于php的array_unique函数，此函数只适用于一维数组，对多维数组并不适用，以下提供一个二维数组的array_unique函数 </p><p>//二维数组去掉重复值<br
/> function array_unique_fb($array2D){  <br
/>      foreach ($array2D as $v){<br
/>          $v = join(&#8220;,&#8221;,$v);              //降维,也可以用implode,将一维数组转换为用逗号连接的字符串<br
/>          $temp[] = $v;<br
/>      }</p><p>     $temp = array_unique($temp);      //去掉重复的字符串,也就是重复的一维数组<br
/>     foreach ($temp as $k =&gt; $v){<br
/>         $temp[$k] = explode(&#8220;,&#8221;,$v);       //再将拆开的数组重新组装<br
/>     }<br
/>     return $temp;<br
/> }</p><p>原文：<a
href="http://blog.sina.com.cn/s/blog_60c5cbf50100e4qz.html">http://blog.sina.com.cn/s/blog_60c5cbf50100e4qz.html</a></p> <img
src="http://code.9enjoy.com/?ak_action=api_record_view&id=167&type=feed" alt="" />]]></content:encoded> <wfw:commentRss>http://code.9enjoy.com/php/array_unique_fb/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>GBK的页面输出JSON</title><link>http://code.9enjoy.com/php/gbk-json/</link> <comments>http://code.9enjoy.com/php/gbk-json/#comments</comments> <pubDate>Wed, 03 Feb 2010 08:52:06 +0000</pubDate> <dc:creator>enjoy</dc:creator> <category><![CDATA[php]]></category> <category><![CDATA[GBK]]></category> <category><![CDATA[JSON]]></category><guid
isPermaLink="false">http://code.9enjoy.com/?p=165</guid> <description><![CDATA[encode之前转换为utf-8,decode之后转回gbk:
function tb_json_encode($value, $options = 0)
{
  return json_encode(tb_json_convert_encoding($value, &#8220;GBK&#8221;, &#8220;UTF-8&#8243;));
}
function tb_json_decode($str, $assoc = false, $depth = 512)
{
  return tb_json_convert_encoding(json_decode($str, $assoc), &#8220;UTF-8&#8243;, &#8220;GBK&#8221;);
}
function tb_json_convert_encoding($m, $from, $to)
{
  switch(gettype($m)) {
    case &#8216;integer&#8217;:
    case &#8216;boolean&#8217;:
    case &#8216;float&#8217;:
    case &#8216;double&#8217;:
    case &#8216;NULL&#8217;:
      return $m;
    case &#8217;string&#8217;:
      return mb_convert_encoding($m, $to, $from);
    case &#8216;object&#8217;:
      $vars = array_keys(get_object_vars($m));
      foreach($vars as $key) {
        $m-&#62;$key = [...]]]></description> <content:encoded><![CDATA[<p>encode之前转换为utf-8,decode之后转回gbk:</p><p>function tb_json_encode($value, $options = 0)<br
/> {<br
/>   return json_encode(tb_json_convert_encoding($value, &#8220;GBK&#8221;, &#8220;UTF-8&#8243;));<br
/> }</p><p>function tb_json_decode($str, $assoc = false, $depth = 512)<br
/> {<br
/>   return tb_json_convert_encoding(json_decode($str, $assoc), &#8220;UTF-8&#8243;, &#8220;GBK&#8221;);<br
/> }</p><p>function tb_json_convert_encoding($m, $from, $to)<br
/> {<br
/>   switch(gettype($m)) {<br
/>     case &#8216;integer&#8217;:<br
/>     case &#8216;boolean&#8217;:<br
/>     case &#8216;float&#8217;:<br
/>     case &#8216;double&#8217;:<br
/>     case &#8216;NULL&#8217;:<br
/>       return $m;</p><p>    case &#8217;string&#8217;:<br
/>       return mb_convert_encoding($m, $to, $from);<br
/>     case &#8216;object&#8217;:<br
/>       $vars = array_keys(get_object_vars($m));<br
/>       foreach($vars as $key) {<br
/>         $m-&gt;$key = tb_json_convert_encoding($m-&gt;$key, $from ,$to);<br
/>       }<br
/>       return $m;<br
/>     case &#8216;array&#8217;:<br
/>       foreach($m as $k =&gt; $v) {<br
/>         $m[tb_json_convert_encoding($k, $from, $to)] = tb_json_convert_encoding($v, $from, $to);<br
/>       }<br
/>       return $m;<br
/>     default:<br
/>   }<br
/>   return $m;<br
/> }</p><p>原文：<a
href="http://sanmuding.com/i/660">http://sanmuding.com/i/660</a></p> <img
src="http://code.9enjoy.com/?ak_action=api_record_view&id=165&type=feed" alt="" />]]></content:encoded> <wfw:commentRss>http://code.9enjoy.com/php/gbk-json/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>文本转HTML</title><link>http://code.9enjoy.com/php/text-to-html/</link> <comments>http://code.9enjoy.com/php/text-to-html/#comments</comments> <pubDate>Sat, 16 Jan 2010 09:39:31 +0000</pubDate> <dc:creator>enjoy</dc:creator> <category><![CDATA[php]]></category> <category><![CDATA[html]]></category><guid
isPermaLink="false">http://code.9enjoy.com/?p=150</guid> <description><![CDATA[//文本转HTML
function Text2Html($txt)
{
$txt = str_replace(&#8221;  &#8221;,&#8221;　&#8221;,$txt);
$txt = str_replace(&#8220;&#60;&#8221;,&#8221;&#38;lt;&#8221;,$txt);
$txt = str_replace(&#8220;&#62;&#8221;,&#8221;&#38;gt;&#8221;,$txt);
$txt = preg_replace(&#8220;/[\r\n]{1,}/isU&#8221;,&#8221;&#60;br/&#62;\r\n&#8221;,$txt);
return $txt;
}
]]></description> <content:encoded><![CDATA[<div
id="_mcePaste">//文本转HTML</div><div
id="_mcePaste">function Text2Html($txt)</div><div
id="_mcePaste">{</div><div
id="_mcePaste">$txt = str_replace(&#8221;  &#8221;,&#8221;　&#8221;,$txt);</div><div
id="_mcePaste">$txt = str_replace(&#8220;&lt;&#8221;,&#8221;&amp;lt;&#8221;,$txt);</div><div
id="_mcePaste">$txt = str_replace(&#8220;&gt;&#8221;,&#8221;&amp;gt;&#8221;,$txt);</div><div
id="_mcePaste">$txt = preg_replace(&#8220;/[\r\n]{1,}/isU&#8221;,&#8221;&lt;br/&gt;\r\n&#8221;,$txt);</div><div
id="_mcePaste">return $txt;</div><div
id="_mcePaste">}</div> <img
src="http://code.9enjoy.com/?ak_action=api_record_view&id=150&type=feed" alt="" />]]></content:encoded> <wfw:commentRss>http://code.9enjoy.com/php/text-to-html/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>在字符串指定位置插入一段字符串</title><link>http://code.9enjoy.com/php/str_insert/</link> <comments>http://code.9enjoy.com/php/str_insert/#comments</comments> <pubDate>Wed, 13 Jan 2010 14:24:05 +0000</pubDate> <dc:creator>enjoy</dc:creator> <category><![CDATA[php]]></category> <category><![CDATA[字符串]]></category><guid
isPermaLink="false">http://code.9enjoy.com/?p=144</guid> <description><![CDATA[//插入一段字符串
function str_insert($str, $i, $substr)
{
for($j=0; $j&#60;$i; $j++){
$startstr .= $str[$j];
}
for ($j=$i; $j&#60;strlen($str); $j++){
$laststr .= $str[$j];
}
$str = ($startstr . $substr . $laststr);
return $str;
}]]></description> <content:encoded><![CDATA[<div
id="_mcePaste">//插入一段字符串</div><div
id="_mcePaste">function str_insert($str, $i, $substr)</div><div
id="_mcePaste">{</div><div
id="_mcePaste">for($j=0; $j&lt;$i; $j++){</div><div
id="_mcePaste">$startstr .= $str[$j];</div><div
id="_mcePaste">}</div><div
id="_mcePaste">for ($j=$i; $j&lt;strlen($str); $j++){</div><div
id="_mcePaste">$laststr .= $str[$j];</div><div
id="_mcePaste">}</div><div
id="_mcePaste">$str = ($startstr . $substr . $laststr);</div><div
id="_mcePaste">return $str;</div><div
id="_mcePaste">}</div><div
id="_mcePaste"></div> <img
src="http://code.9enjoy.com/?ak_action=api_record_view&id=144&type=feed" alt="" />]]></content:encoded> <wfw:commentRss>http://code.9enjoy.com/php/str_insert/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>php数组二分法查找</title><link>http://code.9enjoy.com/php/array-search/</link> <comments>http://code.9enjoy.com/php/array-search/#comments</comments> <pubDate>Tue, 12 Jan 2010 14:43:48 +0000</pubDate> <dc:creator>enjoy</dc:creator> <category><![CDATA[php]]></category> <category><![CDATA[二分法]]></category> <category><![CDATA[数组]]></category><guid
isPermaLink="false">http://code.9enjoy.com/?p=138</guid> <description><![CDATA[&#60;?php
//search函数 其中$array为数组，$k为要找的值，$low为查找范围的最小键值，$high为查找范围的最大键值
function search($array, $k, $low=0, $high=0)
{
if(count($array)!=0 and $high == 0)                 //判断是否为第一次调用
{
$high = count($array);
}
if($low &#60;= $high)                                //如果还存在剩余的数组元素
{
$mid = intval(($low+$high)/2);                  //取$low和$high的中间值
if ($array[$mid] == $k)     [...]]]></description> <content:encoded><![CDATA[<div
id="_mcePaste">&lt;?php</div><div
id="_mcePaste">//search函数 其中$array为数组，$k为要找的值，$low为查找范围的最小键值，$high为查找范围的最大键值</div><div
id="_mcePaste">function search($array, $k, $low=0, $high=0)</div><div
id="_mcePaste">{</div><div
id="_mcePaste">if(count($array)!=0 and $high == 0)                 //判断是否为第一次调用</div><div
id="_mcePaste">{</div><div
id="_mcePaste">$high = count($array);</div><div
id="_mcePaste">}</div><div
id="_mcePaste">if($low &lt;= $high)                                //如果还存在剩余的数组元素</div><div
id="_mcePaste">{</div><div
id="_mcePaste">$mid = intval(($low+$high)/2);                  //取$low和$high的中间值</div><div
id="_mcePaste">if ($array[$mid] == $k)                         //如果找到则返回</div><div
id="_mcePaste">{</div><div
id="_mcePaste">return $mid;</div><div
id="_mcePaste">}</div><div
id="_mcePaste">elseif ($k &lt; $array[$mid])                       //如果没有找到，则继续查找</div><div
id="_mcePaste">{</div><div
id="_mcePaste">return search($array, $k, $low, $mid-1);</div><div
id="_mcePaste">}</div><div
id="_mcePaste">else</div><div
id="_mcePaste">{</div><div
id="_mcePaste">return search($array, $k, $mid+1, $high);</div><div
id="_mcePaste">}</div><div
id="_mcePaste">}</div><div
id="_mcePaste">return -1;</div><div
id="_mcePaste">}</div><div
id="_mcePaste">$array = array(4,5,7,8,9,10);                           //测试search函数</div><div
id="_mcePaste">echo search($array, 8);                             //调用search函数并输出查找结果</div><div
id="_mcePaste">?&gt;</div><div
id="_mcePaste"></div><p>原文：http://blog.csdn.net/zhuzhao/archive/2009/03/09/3969044.aspx</p> <img
src="http://code.9enjoy.com/?ak_action=api_record_view&id=138&type=feed" alt="" />]]></content:encoded> <wfw:commentRss>http://code.9enjoy.com/php/array-search/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>正确获得访客IP</title><link>http://code.9enjoy.com/php/onlineip/</link> <comments>http://code.9enjoy.com/php/onlineip/#comments</comments> <pubDate>Sun, 10 Jan 2010 08:28:17 +0000</pubDate> <dc:creator>enjoy</dc:creator> <category><![CDATA[php]]></category> <category><![CDATA[ip]]></category><guid
isPermaLink="false">http://code.9enjoy.com/?p=132</guid> <description><![CDATA[正确获得访客IP]]></description> <content:encoded><![CDATA[<div
id="_mcePaste">if(getenv(&#8216;HTTP_CLIENT_IP&#8217;) &amp;&amp; strcasecmp(getenv(&#8216;HTTP_CLIENT_IP&#8217;), &#8216;unknown&#8217;)) {</div><div
id="_mcePaste">$onlineip = getenv(&#8216;HTTP_CLIENT_IP&#8217;);</div><div
id="_mcePaste">} elseif(getenv(&#8216;HTTP_X_FORWARDED_FOR&#8217;) &amp;&amp; strcasecmp(getenv(&#8216;HTTP_X_FORWARDED_FOR&#8217;), &#8216;unknown&#8217;)) {</div><div
id="_mcePaste">$onlineip = getenv(&#8216;HTTP_X_FORWARDED_FOR&#8217;);</div><div
id="_mcePaste">} elseif(getenv(&#8216;REMOTE_ADDR&#8217;) &amp;&amp; strcasecmp(getenv(&#8216;REMOTE_ADDR&#8217;), &#8216;unknown&#8217;)) {</div><div
id="_mcePaste">$onlineip = getenv(&#8216;REMOTE_ADDR&#8217;);</div><div
id="_mcePaste">} elseif(isset($_SERVER['REMOTE_ADDR']) &amp;&amp; $_SERVER['REMOTE_ADDR'] &amp;&amp; strcasecmp($_SERVER['REMOTE_ADDR'], &#8216;unknown&#8217;)) {</div><div
id="_mcePaste">$onlineip = $_SERVER['REMOTE_ADDR'];</div><div
id="_mcePaste">}</div><div
id="_mcePaste">preg_match(&#8220;/[\d\.]{7,15}/&#8221;, $onlineip, $onlineipmatches);</div><div
id="_mcePaste"><span
style="background-color: #ffffff;">$onlineip</span> = $onlineipmatches[0] ? $onlineipmatches[0] : &#8216;unknown&#8217;;</div> <img
src="http://code.9enjoy.com/?ak_action=api_record_view&id=132&type=feed" alt="" />]]></content:encoded> <wfw:commentRss>http://code.9enjoy.com/php/onlineip/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>加强版htmlspecialchars</title><link>http://code.9enjoy.com/php/shtmlspecialchars/</link> <comments>http://code.9enjoy.com/php/shtmlspecialchars/#comments</comments> <pubDate>Sun, 10 Jan 2010 07:59:01 +0000</pubDate> <dc:creator>enjoy</dc:creator> <category><![CDATA[php]]></category> <category><![CDATA[html]]></category> <category><![CDATA[安全]]></category><guid
isPermaLink="false">http://code.9enjoy.com/?p=121</guid> <description><![CDATA[加强版htmlspecialchars，可防止&#38;等特殊字符的&#038;被再次转换。]]></description> <content:encoded><![CDATA[<p><span
style="background-color: #ffffff;">//取消HTML代码</span></p><div
id="_mcePaste">function shtmlspecialchars($string) {</div><div
id="_mcePaste">if(is_array($string)) {</div><div
id="_mcePaste">foreach($string as $key =&gt; $val) {</div><div
id="_mcePaste">$string[$key] = shtmlspecialchars($val);</div><div
id="_mcePaste">}</div><div
id="_mcePaste">} else {</div><div
id="_mcePaste">$string = preg_replace(&#8216;/&amp;amp;((#(\d{3,5}|x[a-fA-F0-9]{4})|[a-zA-Z][a-z0-9]{2,5});)/&#8217;, &#8216;&amp;\\1&#8242;,</div><div
id="_mcePaste">str_replace(array(&#8216;&amp;&#8217;, &#8216;&#8221;&#8216;, &#8216;&lt;&#8217;, &#8216;&gt;&#8217;), array(&#8216;&amp;amp;&#8217;, &#8216;&amp;quot;&#8217;, &#8216;&amp;lt;&#8217;, &#8216;&amp;gt;&#8217;), $string));</div><div
id="_mcePaste">}</div><div
id="_mcePaste">return $string;</div><div
id="_mcePaste">}</div> <img
src="http://code.9enjoy.com/?ak_action=api_record_view&id=121&type=feed" alt="" />]]></content:encoded> <wfw:commentRss>http://code.9enjoy.com/php/shtmlspecialchars/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk
Page Caching using disk
Database Caching 6/13 queries in 0.007 seconds using disk

Served from: code.itlearner.com @ 2012-05-18 20:16:13 -->
