<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://www.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://www.jackxiang.com/post//</link>
<title><![CDATA[PHP怎样判断一个数组中是否有的键值为空？包括多维判空]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[WEB2.0]]></category>
<pubDate>Thu, 09 Apr 2009 10:54:52 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	　　一、for循环<br/>　　　　最简单也是最直接的方法，用for循环来遍历数组。对于已知维数的数组可以判断，但如果是未知的多维数组，该怎么办？<br/>　　二、implode();<br/>　　　　用implode()将数组输出为字符串，判断输出的字串是否为空。初看上去似乎是个不错的方法，可惜跟上一点一样，对于二维以上数组就不行了。举个例子：<br/><div class="code">$arr= array(array(),array(),array());<br/>$str = implode(&#039;,&#039;,$arr);<br/><br/>if(empty($str)) echo &quot;空&quot;;<br/>else echo &quot;非空&quot;;</div><br/><br/>很明显$arr是个含有三个空数组的二维数组，应该也算是空的，可是输出的确是非空。判断失败。<br/>　　三、count();<br/>　　　　不得不承认，我最先想到的也是这个函数，网上也有好多网友把这个当答案，并以为已经解决问题。可是请看下面的例子：<br/><div class="code">$arr= array(&quot;&quot;,&quot;&quot;,&quot;&quot;);<br/>echo count($arr);</div>　　四、in_array('', $arr));<br/>　　　　不多说，还是看例子：<br/><br/><div class="code"><br/>$arr= array(&quot;d&quot;,&quot;s&quot;,&quot;&quot;);<br/>echo in_array(&#039;&#039;, $arr);</div><br/><br/>这个只能说明数组中有空的元素，不能证明数组是空的。很明显也不行<br/>　　五、empty();<br/>　　　　这个cpyeh觉得跟前面几种方法差不多<br/><br/><br/><div class="code">$arr= array(&quot;&quot;,&quot;&quot;,&quot;&quot;);<br/>if(empty($arr)) echo &quot;空&quot;;<br/>else echo &quot;非空&quot;;</div><br/><br/>结果还是非空<br/><br/>可以在以上例子上加一句print_r($arr);看看...<br/>　　基本上cpyeh能想到的加上网上找到的也就以上这些，不明白的是网上居然有人会提到is_array()，可能是对php还不是很了解，需要多翻翻手册。很遗憾最终还是找不到一个完美的解决方法，不过对于一般的应用，第一种或第二种应该可以满足了，cpyeh选了方便的第二种。如果对以上例子有疑问欢迎留言在此互相交流。<br/><br/>后计：<br/>如果判断一个二维数组可以这样，同时干掉那些空的：&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/><div class="code">$this-&gt;dataObj-&gt;getTotalScore(&amp;$resultinfo,$uids);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$judge = implode(&quot;&quot;,$resultinfo);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(!empty($judge))//数组不为空<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#123;&nbsp;&nbsp;//去掉数组键值为空<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach($resultinfo as $key =&gt;$getoutvisnull)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(empty($getoutvisnull))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unset($resultinfo&#91;$key&#93;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$allscorearray&#91;&#93; = $resultinfo;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;</div><br/><br/>QQ群有哥们用下面函数来做这个事情：<br/><br/><br/><div class="code">function array_null($arr)&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;if(is_array($arr))&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp; foreach($arr as $k=&gt;$v)&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($v&amp;&amp;!is_array($v))&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return false;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $t=array_null($v);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(!$t)&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp; &#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp; return true;<br/>&nbsp;&nbsp;&nbsp;&nbsp; &#125;else&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(!$arr)&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return true;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;<br/>&nbsp;&nbsp;&nbsp;&nbsp; &#125;<br/>&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;$node=array(array(),array(),array(array()));<br/>&nbsp;&nbsp;if(array_null($node))&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;echo &quot;fdsa&quot;;<br/>&nbsp;&nbsp;&#125; </div><br/><br/>用正则：<br/><br/><br/><div class="code">if (trim(preg_replace(&quot;/(&#92;w+&#92;s*=&gt;&#92;s*)?array&#92;s*&#92;(&#124;&#92;),&#92;s+&#124;&#92;)$/i&quot;,&quot;&quot;,var_export($arr,true))))&#123;<br/>&nbsp;&nbsp;echo &#039;true&#039;;<br/>&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;else&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;echo &quot;false&quot;;<br/>&nbsp;&nbsp;&#125; </div><br/><br/><br/>但如果是多维的呢？PHP内核团队能专们提出一个函数来判断和并且去掉多维的键值吗？期待中。。。<br/><br/><br/><br/><br/><br/>
]]>
</description>
</item><item>
<link>http://www.jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] PHP怎样判断一个数组中是否有的键值为空？包括多维判空]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>