<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title><![CDATA[Yes1000 一想千开 - PHP]]></title>
<link>http://www.yes1000.com/</link>
<description><![CDATA[分享·快乐·成长]]></description>
<language>zh-cn</language>
<copyright><![CDATA[Copyright 2009 Yes1000.com]]></copyright>
<webMaster><![CDATA[www@yes1000.com(一想千开)]]></webMaster>
<generator>Yes1000.com</generator> 
<image>
	<title>Yes1000 一想千开</title>
	<url>http://www.yes1000.com/images/logos.gif</url>
	<link>http://www.yes1000.com/</link>
	<description>Yes1000 一想千开</description>
</image>

			<item>
			<link>http://www.yes1000.com/php/PHP%2Dtry%2Dcatch%2Das%2DUseless%2Dthings.htm</link>
			<title><![CDATA[感觉PHP中的try{}catch{}结构像鸡肋]]></title>
			<author>www@yes1000.com(一想千开)</author>
			<category><![CDATA[PHP]]></category>
			<pubDate>Sun,19 Jul 2009 19:19:57 +0800</pubDate>
			<guid><![CDATA[http://www.yes1000.com/php/PHP%2Dtry%2Dcatch%2Das%2DUseless%2Dthings.htm]]></guid>
		<description><![CDATA[<div class="UBBPanel quotePanel"><div class="UBBTitle"><img src="http://www.yes1000.com/images/quote.gif" style="margin:0px 2px -3px 0px" alt="引用内容"/> 引用内容</div><div class="UBBContent">PHP 5 添加了类似于其它语言的异常处理模块。在 PHP 代码中所产生的异常可被 throw 语句抛出并被 catch 语句捕获。需要进行异常处理的代码都必须放入 try 代码块内，以便捕获可能存在的异常。每一个 try 至少要有一个与之对应的 catch。使用多个 catch 可以捕获不同的类所产生的异常。当 try 代码块不再抛出异常或者找不到 catch 能匹配所抛出的异常时，PHP 代码就会在跳转到最后一个 catch 的后面继续执行。当然，PHP 允许在 catch 代码块内再次抛出（throw）异常。</div></div>这是PHP手册中对PHP异常处理的介绍，看起来似乎不错，我们可以像C系列语言一样使用try{}catch{}结构了。<br/><br/>但问题是，PHP压根就不会自己产生异常，至于是不是出了异常，仍然需要我们自己判断，如果有，需要我们自己用throw new Exception语句抛出一个异常，然后再用catch去捕获……<br/><br/>似乎有点没事找事的味道：本来没有麻烦，我们去自己去制造一个麻烦出来，然后再自己把麻烦解决掉。<br/><br/>且不说它没事找事，既然我们都知道异常了，为何却要抛一个异常出去然后再捕获？知道异常了直接提示用户是不是更好呢？<br/><br/>我的习惯是尽量不把WEB服务端的错误信息展示给用户，尽可能的考虑到所有可能会出现错误的地方，然后，在即将发生错误的时候，用一种友好的方式提示用户，而不是把吃果果的异常信息或者HTTP500错误页面展示给用户。]]></description>
		</item>
		
			<item>
			<link>http://www.yes1000.com/php/PHP%E4%B8%AD%E7%9A%84String%E4%B9%9F%E6%98%AF%E4%B8%80%E4%B8%AAChar%E6%95%B0%E7%BB%84.htm</link>
			<title><![CDATA[PHP中的String也是一个Char数组]]></title>
			<author>www@yes1000.com(一想千开)</author>
			<category><![CDATA[PHP]]></category>
			<pubDate>Sun,12 Jul 2009 16:27:12 +0800</pubDate>
			<guid><![CDATA[http://www.yes1000.com/php/PHP%E4%B8%AD%E7%9A%84String%E4%B9%9F%E6%98%AF%E4%B8%80%E4%B8%AAChar%E6%95%B0%E7%BB%84.htm]]></guid>
		<description><![CDATA[以前发现C#中的String类型其实是一个Char类型的数组，拥有一切Char类型的属性和方法，可以完全当成Char数组使用。<br/><br/>　　PHP中并不存在Char这个数据类型，但这几天学习PHP，发现PHP中的String类型确实也是一个Char类型的数组，除了直接count(String)不能得到该“数组”的长度外，也完全可以当成Char数组使用。只接触过PHP的TX可能不知道什么是Char类型，通俗说，Char就是一个变量只能容纳一个字符的一种类型。<br/><br/>　　这种特性可以很方便的访问String的成员字符，也可以很方便的获取随机的字符。只要访问字符串的下标就可以了，要获取随机的字符串，只要将组成的字符声明为一个字符串，然后产生一个随机数，用这个随机数做下标获取String的成员即可。<br/><div class="UBBPanel codePanel"><div class="UBBTitle"><img src="http://www.yes1000.com/images/code.gif" style="margin:0px 2px -3px 0px" alt="程序代码"/> 程序代码</div><div class="UBBContent"><br/>&nbsp;&nbsp;//示例：访问字符串的第4个字符<br/>&nbsp;&nbsp;$myStr = &#39;abc<strong><span style="color:Red">d</span></strong>efghijklmn&#39;;<br/>&nbsp;&nbsp;echo $myStr[<strong><span style="color:Red">3</span></strong>];<br/>&nbsp;&nbsp;//输出结果：<span style="color:Red"><strong>d</strong></span><br/></div></div><br/><br/>　　当把一个变量初始化为String后，如果像数组一样去给该变量赋值，会只改变String该位置的字符：<div class="UBBPanel codePanel"><div class="UBBTitle"><img src="http://www.yes1000.com/images/code.gif" style="margin:0px 2px -3px 0px" alt="程序代码"/> 程序代码</div><div class="UBBContent"><br/>&nbsp;&nbsp;//示例：修改String的第6个字符<br/>&nbsp;&nbsp;$myStr = &#39;abcde<strong><span style="color:Red">f</span></strong>ghijklmn&#39;;<br/>&nbsp;&nbsp;$myStr[<strong><span style="color:Red">5</span></strong>] = &#39;<strong><span style="color:Red">+</span></strong>&#39;;<br/>&nbsp;&nbsp;echo $myStr;<br/>&nbsp;&nbsp;//输出结果：abcde<span style="color:Red"><strong>+</strong></span>ghijklmn<br/></div></div><br/><br/>　　如果试图给String的一个Char成员赋值多于一个的字符，那么只有第一个字符只生效：<br/><div class="UBBPanel codePanel"><div class="UBBTitle"><img src="http://www.yes1000.com/images/code.gif" style="margin:0px 2px -3px 0px" alt="程序代码"/> 程序代码</div><div class="UBBContent"><br/>&nbsp;&nbsp;//示例：如果试图给String的一Char成员赋值多于一个的字符，<br/>&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;那么只有第一个字符生效<br/>&nbsp;&nbsp;$myStr = &#39;<strong><span style="color:Red">a</span></strong>bcdefghijklmn&#39;;<br/>&nbsp;&nbsp;$myStr[<strong><span style="color:Red">0</span></strong>] = &#39;<strong><span style="color:Red">XYZ</span></strong>&#39;;<br/>&nbsp;&nbsp;echo $myStr;<br/>&nbsp;&nbsp;//输出结果：<span style="color:Red"><strong>X</strong></span>bcdefghijklmn<br/></div></div>]]></description>
		</item>
		
			<item>
			<link>http://www.yes1000.com/php/Php%2DFunction%2DchkRecordExist.htm</link>
			<title><![CDATA[[PHP函数]检查表中某列是否已经存在相同的记录]]></title>
			<author>www@yes1000.com(一想千开)</author>
			<category><![CDATA[PHP]]></category>
			<pubDate>Sun,05 Jul 2009 14:06:51 +0800</pubDate>
			<guid><![CDATA[http://www.yes1000.com/php/Php%2DFunction%2DchkRecordExist.htm]]></guid>
		<description><![CDATA[技术含量没有，只是写成函数以后再用就挺方便的，复制一下调用就OK。<br/><div class="UBBPanel codePanel"><div class="UBBTitle"><img src="http://www.yes1000.com/images/code.gif" style="margin:0px 2px -3px 0px" alt="程序代码"/> 程序代码</div><div class="UBBContent"><br/>/************************************************************<br/> *&#160;&#160;&#160;&#160;函数名：chkRecordExist<br/> *&#160;&#160;&#160;&#160;作&nbsp;&nbsp;用：检查表中某列是否已经存在相同的记录<br/> *&#160;&#160;&#160;&#160;参&nbsp;&nbsp;数：$tabName：&#160;&#160;&#160;&#160;表名<br/> *&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;$fieldName：列名<br/> *&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;$value：&#160;&#160;&#160;&#160;需要检查的值<br/> *&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;$inStr：&#160;&#160;&#160;&#160;该字段SQL查询时是否需要将值用特殊字符（如引号）括起来<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;如果需要，请提供该特殊字符，否则该参数为空字符串<br/> *&#160;&#160;&#160;&#160;返回值：bool：如果该列存在该值，返回True，否则返回False<br/> ***********************************************************/<br/>function chkRecordExist($tabName,$fieldName,$value,$inStr){<br/>&#160;&#160;&#160;&#160;$returnValue = false;<br/>&#160;&#160;&#160;&#160;$chkSQL = mysql_query(&#39;sel&#101;ct &#39;.$fieldName.&#39; from &#39;.$tabName.&#39; wh&#101;re &#39;.$fieldName.&#39;=&#39;.$inStr.$value.$inStr);<br/>&#160;&#160;&#160;&#160;if (mysql_fetch_array($chkSQL)){<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;$returnValue = true;<br/>&#160;&#160;&#160;&#160;}<br/>&#160;&#160;&#160;&#160;return $returnValue;<br/>}<br/><br/>//应用示例：<br/>//假设用户注册时，我们需要先检查用户表[User]中是否已经存在相同的用户名[UserName],<br/>//如果已经存在相同的用户则提示用户重填并返回，否则继续执行注册：<br/>//（注：以下代码仅为演示本函数的使用，不代表实现功能的正确方法，请谨慎参考）<br/>if ( chkRecordExist(&#39;User&#39;,&#39;UserName&#39;,$_POST[&#39;UserName&#39;],&#39;\&#39;&#39;) ){<br/>&#160;&#160;&#160;&#160;echo &#39;&lt;script&gt;window.alert(&#34;已经存在该用户名，请返回重试&#34;);history.back();&lt;/script&gt;&#39;;<br/>&#160;&#160;&#160;&#160;exit();<br/>}else{<br/>&#160;&#160;&#160;&#160;//……<br/>&#160;&#160;&#160;&#160;//执行继续注册……<br/>&#160;&#160;&#160;&#160;//……<br/>}<br/></div></div>]]></description>
		</item>
		
</channel>
</rss>
