<?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="https://www.mrven.com/node/tag/%E5%87%BD%E6%95%B0/feed" rel="self" type="application/rss+xml" />
	<link>https://www.mrven.com/node/tag/函数</link>
	<description>A MRVEN SITE</description>
	<lastBuildDate>Wed, 10 Jul 2024 17:09:33 +0000</lastBuildDate>
	<language>zh-CN</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.6.1</generator>
	<item>
		<title>10个不常见却很有用的PHP函数</title>
		<link>https://www.mrven.com/node/298</link>
					<comments>https://www.mrven.com/node/298#comments</comments>
		
		<dc:creator><![CDATA[Ven]]></dc:creator>
		<pubDate>Sat, 16 Jan 2010 07:42:49 +0000</pubDate>
				<category><![CDATA[Web开发]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[函数]]></category>
		<guid isPermaLink="false">http://cheweb.org/?p=298</guid>

					<description><![CDATA[<p>1. sys_getloadavg() sys_getloadavt()可以获得系统负载情况。该函数返回一个包 [&#8230;]</p>
<p><a href="https://www.mrven.com/node/298">10个不常见却很有用的PHP函数</a>最先出现在<a href="https://www.mrven.com">布鲁文的蓝色奇想</a>。</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>1. sys_getloadavg()</strong></p>
<p>sys_getloadavt()可以获得系统负载情况。该函数返回一个包含三个元素的数组，每个元素分别代表系统再过去的1、5和15分钟内的平均负载。</p>
<p>与其让服务器因负载过高而宕掉，不如在系统负载很高时主动die掉一个脚本，sys_getloadavg()就是用来帮你实现这个功能的。 不过很遗憾，该函数在windows下无效。</p>
<p><strong>2. pack()</strong></p>
<p>Pack()能将md5()返回的32位16进制字符串转换为16位的二进制字符串，可以节省存储空间。</p>
<p><strong>3. cal_days_in_month()</strong></p>
<p><span id="more-298"></span>cal_days_in_month()能够返回指定月份共有多少天。</p>
<p><strong>4. _()</strong></p>
<p>WordPress开发者经常能见到这个函数，还有_e()。这两个函数功能相同，与gettext()函数结合使用，能实现网站的多语言化。具体可参见PHP手册的相关部分介绍。</p>
<p><strong>5. get_browser()</strong></p>
<p>在发送页面前先看看用户的浏览器都能做些什么是不是挺好？get_browser()能获得用户的浏览器类型，以及浏览器支持的功能，不过首先你需要一个php_browscap.ini文件，用来给函数做参考文件。</p>
<p>要注意，该函数对浏览器功能的判断是基于该类浏览器的一般特性的。例如，如果用户关闭了浏览器对JavaScript的支持，函数无法得知这一点。但是在判断浏览器类型和OS平台方面，该函数还是很准确的。</p>
<p><strong>6. debug_print_backtrace()</strong></p>
<p>这是一个调试用的函数，能帮助你发现代码中的逻辑错误。要理解这个函数，还是直接看个例子吧：</p>
<blockquote><p>$a = 0;</p>
<p>function iterate() {<br />
global $a;<br />
if( $a &lt; 10 )<br />
recur();<br />
echo $a . &#8220;, &#8220;;<br />
}</p>
<p>function recur() {<br />
global $a;<br />
$a++;</p>
<p>// how did I get here?<br />
echo &#8220;nnn&#8221;;<br />
debug_print_backtrace();</p>
<p>if( $a &lt; 10 )<br />
iterate();</p>
<p>}</p>
<p>iterate();</p>
<p># OUTPUT:</p>
<p>#0  recur() called at [C:htdocsphp_stuffindex.php:8]<br />
#1  iterate() called at [C:htdocsphp_stuffindex.php:25]</p>
<p>#0  recur() called at [C:htdocsphp_stuffindex.php:8]<br />
#1  iterate() called at [C:htdocsphp_stuffindex.php:21]<br />
#2  recur() called at [C:htdocsphp_stuffindex.php:8]<br />
#3  iterate() called at [C:htdocsphp_stuffindex.php:25]</p>
<p>#0  recur() called at [C:htdocsphp_stuffindex.php:8]<br />
#1  iterate() called at [C:htdocsphp_stuffindex.php:21]<br />
#2  recur() called at [C:htdocsphp_stuffindex.php:8]<br />
#3  iterate() called at [C:htdocsphp_stuffindex.php:21]<br />
#4  recur() called at [C:htdocsphp_stuffindex.php:8]<br />
#5  iterate() called at [C:htdocsphp_stuffindex.php:25]</p></blockquote>
<p><strong>7. metaphone()</strong></p>
<p>这个函数返回单词的metaphone值，相同读音的单词具有相同的metaphone值，也就是说这个函数可以帮你判断两个单词的读音是否相同。不过对中文就无效了。。。</p>
<p><strong>8. natsort()</strong></p>
<p>natsort()能将一个数组以自然排序法进行排列，直接看个例子吧：</p>
<blockquote><p>$items = array(<br />
&#8220;100 apples&#8221;, &#8220;5 apples&#8221;, &#8220;110 apples&#8221;, &#8220;55 apples&#8221;<br />
);</p>
<p>// normal sorting:<br />
sort($items);<br />
print_r($items);<br />
# Outputs:<br />
# Array<br />
# (<br />
#     [0] =&gt; 100 apples<br />
#     [1] =&gt; 110 apples<br />
#     [2] =&gt; 5 apples<br />
#     [3] =&gt; 55 apples<br />
# )</p>
<p>natsort($items);<br />
print_r($items);<br />
# Outputs:<br />
# Array<br />
# (<br />
#     [2] =&gt; 5 apples<br />
#     [3] =&gt; 55 apples<br />
#     [0] =&gt; 100 apples<br />
#     [1] =&gt; 110 apples<br />
# )</p></blockquote>
<p><strong>9. levenshtein()</strong></p>
<p>Levenshtein()告诉你两个单词之间的“距离”。它告诉你如果想把一个单词变成另一个单词，需要插入、替换和删除多少字母。</p>
<p>看个例子吧：</p>
<blockquote><p>$dictionary = array(<br />
&#8220;php&#8221;, &#8220;javascript&#8221;, &#8220;css&#8221;<br />
);</p>
<p>$word = &#8220;japhp&#8221;;</p>
<p>$best_match = $dictionary[0];<br />
$match_value = levenshtein($dictionary[0], $word);</p>
<p>foreach($dictionary as $w) {<br />
$value = levenshtein($word, $w);<br />
if( $value &lt; $match_value ) {<br />
$best_match = $w;<br />
$match_value = $value;<br />
}<br />
}</p>
<p>echo &#8220;Did you mean the &#8216;$best_match&#8217; category?&#8221;;</p></blockquote>
<p><strong>10. glob()</strong></p>
<p>glob()会让你觉得用opendir(), readdir()和closedir()来寻找文件非常蠢。</p>
<blockquote><p>foreach (glob(&#8220;*.php&#8221;) as $file)<br />
echo &#8220;$filen&#8221;;</p></blockquote>
<p>本文首发于<a href="https://www.mrven.com/?p=533">布鲁文的蓝色奇想</a></p>
<p><a href="https://www.mrven.com/node/298">10个不常见却很有用的PHP函数</a>最先出现在<a href="https://www.mrven.com">布鲁文的蓝色奇想</a>。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.mrven.com/node/298/feed</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>10个你可能从未用过的PHP函数</title>
		<link>https://www.mrven.com/node/533</link>
					<comments>https://www.mrven.com/node/533#comments</comments>
		
		<dc:creator><![CDATA[Ven]]></dc:creator>
		<pubDate>Sat, 16 Jan 2010 07:36:27 +0000</pubDate>
				<category><![CDATA[Web开发]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[函数]]></category>
		<guid isPermaLink="false">http://www.mrven.com/?p=533</guid>

					<description><![CDATA[<p>1. sys_getloadavg() sys_getloadavt()可以获得系统负载情况。该函数返回一个包 [&#8230;]</p>
<p><a href="https://www.mrven.com/node/533">10个你可能从未用过的PHP函数</a>最先出现在<a href="https://www.mrven.com">布鲁文的蓝色奇想</a>。</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>1. sys_getloadavg()</strong></p>
<p>sys_getloadavt()可以获得系统负载情况。该函数返回一个包含三个元素的数组，每个元素分别代表系统再过去的1、5和15分钟内的平均负载。</p>
<p>与其让服务器因高负载宕掉，不如在系统负载很高时主动die掉一个脚本，sys_getloadavg()就是用来帮你实现这个功能的。 不过很遗憾，该函数在windows下无效。</p>
<p><strong>2. pack()</strong></p>
<p>Pack()能将md5()返回的32位16进制字符串转换为16位的二进制字符串，可以节省存储空间。</p>
<p><strong>3. cal_days_in_month()</strong></p>
<p>cal_days_in_month()能够返回指定月份共有多少天。</p>
<p><span id="more-533"></span></p>
<p><strong>4. _()</strong></p>
<p>WordPress开发者经常能见到这个函数，还有_e()。这两个函数功能相同，与gettext()函数结合使用，能实现网站的多语言化。具体可参见PHP手册的相关部分介绍。</p>
<p><strong>5. get_browser()</strong></p>
<p>在发送页面前先看看用户的浏览器都能做些什么是不是挺好？get_browser()能获得用户的浏览器类型，以及浏览器支持的功能，不过首先你需要一个php_browscap.ini文件，用来给函数做参考文件。</p>
<p>要注意，该函数对浏览器功能的判断是基于该类浏览器的一般特性的。例如，如果用户关闭了浏览器对JavaScript的支持，函数无法得知这一点。但是在判断浏览器类型和OS平台方面，该函数还是很准确的。</p>
<p><strong>6. debug_print_backtrace()</strong></p>
<p>这是一个调试用的函数，能帮助你发现代码中的逻辑错误。要理解这个函数，还是直接看个例子吧：</p>
<blockquote><p>$a = 0;</p>
<p>function iterate() {<br />
global $a;<br />
if( $a &lt; 10 )<br />
recur();<br />
echo $a . &#8220;, &#8220;;<br />
}</p>
<p>function recur() {<br />
global $a;<br />
$a++;</p>
<p>// how did I get here?<br />
echo &#8220;\n\n\n&#8221;;<br />
debug_print_backtrace();</p>
<p>if( $a &lt; 10 )<br />
iterate();</p>
<p>}</p>
<p>iterate();</p>
<p># OUTPUT:</p>
<p>#0  recur() called at [C:\htdocs\php_stuff\index.php:8]<br />
#1  iterate() called at [C:\htdocs\php_stuff\index.php:25]</p>
<p>#0  recur() called at [C:\htdocs\php_stuff\index.php:8]<br />
#1  iterate() called at [C:\htdocs\php_stuff\index.php:21]<br />
#2  recur() called at [C:\htdocs\php_stuff\index.php:8]<br />
#3  iterate() called at [C:\htdocs\php_stuff\index.php:25]</p>
<p>#0  recur() called at [C:\htdocs\php_stuff\index.php:8]<br />
#1  iterate() called at [C:\htdocs\php_stuff\index.php:21]<br />
#2  recur() called at [C:\htdocs\php_stuff\index.php:8]<br />
#3  iterate() called at [C:\htdocs\php_stuff\index.php:21]<br />
#4  recur() called at [C:\htdocs\php_stuff\index.php:8]<br />
#5  iterate() called at [C:\htdocs\php_stuff\index.php:25]</p></blockquote>
<p><strong>7. metaphone()</strong></p>
<p>这个函数返回单词的metaphone值，相同读音的单词具有相同的metaphone值，也就是说这个函数可以帮你判断两个单词的读音是否相同。不过对中文就无效了。。。</p>
<p><strong>8. natsort()</strong></p>
<p>Natsort()能将一个数组以自然排序法进行排列，直接看个例子吧：</p>
<blockquote><p>$items = array(<br />
&#8220;100 apples&#8221;, &#8220;5 apples&#8221;, &#8220;110 apples&#8221;, &#8220;55 apples&#8221;<br />
);</p>
<p>// normal sorting:<br />
sort($items);<br />
print_r($items);<br />
# Outputs:<br />
# Array<br />
# (<br />
#     [0] =&gt; 100 apples<br />
#     [1] =&gt; 110 apples<br />
#     [2] =&gt; 5 apples<br />
#     [3] =&gt; 55 apples<br />
# )</p>
<p>natsort($items);<br />
print_r($items);<br />
# Outputs:<br />
# Array<br />
# (<br />
#     [2] =&gt; 5 apples<br />
#     [3] =&gt; 55 apples<br />
#     [0] =&gt; 100 apples<br />
#     [1] =&gt; 110 apples<br />
# )</p></blockquote>
<p><strong>9. levenshtein()</strong></p>
<p>Levenshtein()告诉你两个单词之间的“距离”。它告诉你如果想把一个单词变成另一个单词，需要插入、替换和删除多少字母。</p>
<p>看个例子吧：</p>
<blockquote><p>$dictionary = array(<br />
&#8220;php&#8221;, &#8220;javascript&#8221;, &#8220;css&#8221;<br />
);</p>
<p>$word = &#8220;japhp&#8221;;</p>
<p>$best_match = $dictionary[0];<br />
$match_value = levenshtein($dictionary[0], $word);</p>
<p>foreach($dictionary as $w) {<br />
$value = levenshtein($word, $w);<br />
if( $value &lt; $match_value ) {<br />
$best_match = $w;<br />
$match_value = $value;<br />
}<br />
}</p>
<p>echo &#8220;Did you mean the &#8216;$best_match&#8217; category?&#8221;;</p></blockquote>
<p><strong>10. glob()</strong></p>
<p>glob()会让你觉得用opendir(), readdir()和closedir()来寻找文件非常蠢。</p>
<blockquote><p>foreach (glob(&#8220;*.php&#8221;) as $file)<br />
echo &#8220;$file\n&#8221;;</p></blockquote>
<p><a href="https://www.mrven.com/node/533">10个你可能从未用过的PHP函数</a>最先出现在<a href="https://www.mrven.com">布鲁文的蓝色奇想</a>。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.mrven.com/node/533/feed</wfw:commentRss>
			<slash:comments>20</slash:comments>
		
		
			</item>
	</channel>
</rss>
