输出语句:echo()、print().
实例:echo 'hello','world';
注释:#、//、/* */
变量:必须以$开头,区分大小写,第一个字符必须是字母或下划线。
链接字符串:两个字符串之间用点(.)连接
常量:全部使用大写字母来命名常量,常量不会像变量那样使用美元符号.
define('name','value');
PHP运行时利用了几个预定义的常量,包括PHP_VERSION和PHP_OS(服务器的操作系统)
创建一个新的日期常量:
- define('TODAY','February 3,2005');
- echo 'Today is'.TODAY;
单引号和双引号的区别:
在单引号的字符按照字面意义进行处理,而在双引号中的值则将被解释。
处理HTML表单:
<form action= method=>,action后指示将其页面提交到指定的页面。
接受表单数据的PHP页面将把用户输入到这个表单的中的内容赋予一个称谓&_REQUEST['name']的特殊变量,其中要使用全拼大写,因为PHP对变量名区分大小写。name用于表示要提交的表单中指定的变量名。
1.PHP
- <body>
- <form action=2.PHP method=get>
- <fieldset><legend>Enter your information in the form below:</legend>
- <p><b>name:</b><input type=text name=name size=20 maxlength=40/></p>
- <p><b>E-mail:</b><input type=text name=email size=40 maxlength=60/></p>
- <p><b>Gender:</b><input type=radio name=gender value=M/>Male<input type=radio name=gender value=F/>Female</p>
- <p><b>Age:</b>
- <select name=age>
- <option value=0-29>Under 30</option>
- <option value=30-60>Between 30 and 60</option>
- <option value=60+Over 60></option>
- </select></p>
- <p><b>Comments:</b><textarea name=comments rows=3 cols=40></textarea></p>
- </fieldset>
- <div align=center><input type=submit name=submit value=Submit My information/></div>
- </form>
- </body>
2.PHP
- <body>
- <?PHP
- $name=$_REQUEST['name'];
- $email=$_REQUEST['email'];
- $comments=$_REQUEST['comments'];
- echo <p>Thank you.<b>$name</b>.for the following comments:<br/><tt>$comments</tt></p>n;
- ?>
- </body>
管理Magic Quotes(魔术引用):
对变量的值中的单引号和双引号进行转义。
如在上例中的comments中输入‘,则会显示'。
PHP中,有两类主要的Magic Quotes:magic_quotes_gpc,它适用于表单、URL和cookie数据(gpc代表get、post、cookie);magic_quotes_rentime,它适用于外部文件和数据库教程检索的数据。
如果在服务器上启用了Magic Quotes,则可以使用strips教程lashes()函数撤销它的作用。
$var=stripslashes($var);
这个函数将删除在$var中发现的任何反斜杠。在表单示例中,这具有把转义的提交字符串转变回其原来的未转义值的作用。
条件语句:
- If(isset($_REQUEST['gender']))
- {
- $gender=$_REQUEST['gender']
- }
- Else
- {
- $gender=NULL;
- }
- If($gender=='M')
- {
- ...
- }
验证表单数据:
Isset()用于测试一个变量是否具有值(包括0、FALSE,或则一个空字符串,但不能是NULL)
但是使用此方法,若空字符串测试为TRUE,所以他不是验证HTML表单的文本输入和文本框的有效方式.
empty()方法:检查一个变量是否具有空值(empty):空字符串、0、NULL或FALSE,实例如下:
- if(!Empty(&_REQUEST['name']))
- {
- $name=stripslashes($_REQUEST['NAME'])
- }
- if($name)
- {
- …
要检测提交的值是否是数字,可使用is_numeric()函数,可以使用strlen()函数来查看是否输入了0个以上的字符:
- if(strlen($var)>0)
- ...
数组:
数组可以构成一系列键-值对(key-value),其中每一对都是那个数组的一个项目或元素(element).
PHP支持两种数组:索引数组(indexed array) 和联合数组(associative array),前者使用数字作为键,后者使用字符串作为键。索引数组的第一个索引开始于0,除非显示指定键.
数组遵守与任何其他变量相同的命名规则.
- echo $ar[2];
- echo $ar['MD']; //--联合索引的键必须用单引号。
当数组使用字符串作为它的键时,输出格式为:
echo {$array['IL']};
当使用数字作为它的键时,输出格式为:
echo $array[4];
超全局数组:
$_GET、$_POST、$_SESSION、$_REQUEST、$_COOKIE等:
PHP使用$_GET来存储通过get方法发送到PHP脚本的所有变量和值.$_POST存储使用post方法从HTML表单发送到PHP脚本的所有数据,以及$_COOKIE,他们都是$_REQUEST的子集。
在前面的例子中,我们使用post获取所有元素,则可以直接用$_POST['name'],如:
$name=$_POST['name'];
创建数组:
- $array[]=d;
- $array['son']=BUJ;
2. 使用array()函数:
$arr=array('IA' => 'LH','MD' => 'MH');
$arr=array('dd','asd');
如果设置了第一个具有数字键的值,则此后添加的值将具有递增的键:
$day=array(1=>'S','dd','ss') //$day[2]=dd,$day[3]=ss;
创建连续数字的数组,可以使用range()函数:
$ten=range(1,10);
访问数组:
- foreach($array as $value)
- {...}
foreach()循环将会迭代$array中的每个元素,并把每个元素的值赋予给$value变量,要访问键和值,可以使用:
- foreach($array as $key=>value)
- {
- echo The array value at $key is $value;
- }
- <form action=2.PHP method=post>
- <?PHP
- $months=array(1=>'January','February','march');
- $days=range(1,12);
- $years=range(2000,2011);
- echo '<select name=month>';
- foreach($months as $key=>$value)
- {
- echo <option value=$value>$value</option>n;
- }
- echo </select>;
- echo '<select name=days>';
- foreach($days as $key=>$value)
- {
- echo <option value=$value>$value</option>n;
- }
- echo </select>;
- echo '<select name=years>';
- foreach($years as $key=>$value)
- {
- echo <option value=$value>$value</option>n;
- }
- echo '</select>';
- ?>
要确定数组中的元素个数,可以使用count()或sizeof()函数:
$var =count($array);
从PHP4.1起,range()函数也可以创建连续字符的数组:
$var=range('a','z');
在foreach循环中不必使用名称$key和$value,但是,有些简写为$k和$v.如果看到Invalid argument supplied for foreach()(为foreach()提供了无效的参数)出错消息,这意味着你正尝试在不是数组的变量上使用foreach循环.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。