<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://jackxiang.com/post//</link>
<title><![CDATA[php-array_filter去掉数组中的某一个或者多个值]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[WEB2.0]]></category>
<pubDate>Wed, 16 Mar 2011 06:48:40 +0000</pubDate> 
<guid>http://jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	值得学习的入门示例：<br/><div class="code"><br/>unction delEmpty($v)&nbsp;&nbsp;&nbsp;&nbsp;<br/>&#123;&nbsp;&nbsp; <br/>if ($v===&quot;&quot; &#124;&#124; $v===&quot;php&quot;)&nbsp;&nbsp; //当数组中存在空值和php值时，换回false，也就是去掉该数组中的空值和php值<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#123;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;return false;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp; <br/>return true;&nbsp;&nbsp; <br/>&#125;&nbsp;&nbsp; <br/>$a=array(0=&gt;&quot;pig&quot;,1=&gt;&quot;Cat&quot;,2=&gt;&quot;&quot;,3=&gt;&quot;php&quot;);&nbsp;&nbsp; <br/>print_r(array_filter($a,&quot;delEmpty&quot;));&nbsp;&nbsp;<br/></div><br/>最后输出结果是：Array ( [0] =&gt; pig [1] =&gt; Cat ) 相信大家已经很明白array_filter的用法了，array_filter很强悍吧！<br/>细化一下用来做数组的配置文件过滤：<br/><textarea name="code" class="php" rows="15" cols="100">
$user = $mailUserCCList;
$userArr = explode(&quot;;&quot;, $user); //还原为数组
$userArr = array_filter($userArr,&quot;delValidStaffEmailName&quot;);
$user = join(&quot;;&quot;, $userArr);
</textarea><br/>剔除函数调用如下：<br/><textarea name="code" class="php" rows="15" cols="100">
function delValidStaffEmailName($v)
&#123;
&nbsp;&nbsp;&nbsp;&nbsp;// 非法的内部Rtx登录，但该用户是用的外部邮箱, 如：xiangdong2;jackxiang ，它们的邮箱是外面的。
&nbsp;&nbsp;&nbsp;&nbsp;$arrayValidNamesArr = array(&quot;xiangdong2&quot;,&quot;jackxiang&quot;);//如有其他的在此扩充。
&nbsp;&nbsp;if(in_array($v, $arrayValidNamesArr))
&nbsp;&nbsp;&#123;
&nbsp;&nbsp;&nbsp;&nbsp;return false;//如果$v在剔除的数组里，则返回false，剔除掉。
&nbsp;&nbsp;&#125;
&nbsp;&nbsp;return true;&nbsp;&nbsp;&nbsp;&nbsp;
&#125;
</textarea><br/><br/><br/><br/><br/>如果没有提供 callback 函数，array_filter() 将删除 array 中所有等值为 FALSE 的条目.这也就是过滤数组空白元素的精华所在. <br/><div class="code"><br/># &lt;?php&nbsp;&nbsp;<br/># $entry = array(&nbsp;&nbsp;<br/>#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0 =&gt; &#039;jackxiang绿色软件&#039;,&nbsp;&nbsp;<br/>#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1 =&gt; false,&nbsp;&nbsp;<br/>#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 =&gt; 1,&nbsp;&nbsp;<br/>#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3 =&gt; null,&nbsp;&nbsp;<br/>#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 =&gt; &#039;&#039;,&nbsp;&nbsp;<br/>#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5 =&gt; &#039;http://www.k686.com&#039;,&nbsp;&nbsp;<br/>#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;6 =&gt;&#039;0&#039;&nbsp;&nbsp;<br/>#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; );&nbsp;&nbsp;<br/># print_r(array_filter($entry));&nbsp;&nbsp;<br/># ?&gt;&nbsp;&nbsp;<br/></div><br/>上面代码输出结果为:<br/>Array<br/>(<br/>&nbsp;&nbsp;&nbsp;&nbsp;[0] =&gt; jackxiang绿色软件<br/>&nbsp;&nbsp;&nbsp;&nbsp;[2] =&gt; 1<br/>&nbsp;&nbsp;&nbsp;&nbsp;[5] =&gt; http://www.k686.com<br/>) <br/>可以看出,false,null,和真正的&#039;&#039;空白以及0都被过滤了,而且数组的下标没有改变!<br/>这样就引申出来一个新问题,如果我想对array_filter()处理过的新数组的键名序列化成0,1,2,3这样的怎么办呢?这在数组比较中是很有用的,那么需要用到 php的sort()函数.<br/><br/>bool sort ( array &amp;array [, int sort_flags] )<br/><br/>本函数对数组进行排序。当本函数结束时数组单元将被从最低到最高重新安排。<br/><br/>注意: 本函数为 array 中的单元赋予新的键名。这将删除原有的键名而不仅是重新排序。<br/><br/>如果成功则返回 TRUE，失败则返回 FALSE。 <br/><div class="code"><br/>&lt;?php&nbsp;&nbsp;<br/>$my_array = array(&quot;0&quot; =&gt; &quot;k686绿色软件&quot;, &quot;2&quot; =&gt; &quot;1&quot;, &quot;5&quot; =&gt; &quot;http://www.k686.com&quot;);&nbsp;&nbsp;<br/>sort($my_array);&nbsp;&nbsp;<br/>print_r($my_array);&nbsp;&nbsp;<br/>?&gt;<br/></div><br/> Array&nbsp;&nbsp;<br/>(&nbsp;&nbsp;<br/>[0] =&gt; 1&nbsp;&nbsp;<br/>[1] =&gt; http://www.k686.com&nbsp;&nbsp;<br/>[2] =&gt; k686绿色软件&nbsp;&nbsp;<br/>)&nbsp;&nbsp;<br/>有序化以后就可以进行大小比较了,这在纯数字且需要比较大小的数字中是十分有效的. <br/>来源：<br/>http://blog.sina.com.cn/s/blog_63246be50100iay0.html<br/>http://tuzwu.javaeye.com/blog/667136
]]>
</description>
</item><item>
<link>http://jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] php-array_filter去掉数组中的某一个或者多个值]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>