PHP的基本语言结构
2016-01-29 17:14
465 查看
一、 安装和配置PHP
· 需要关注的几个文件 httpd.conf hph.ini· 使用 phpinfo()可以查看本机的PHP基本配置信息,具体方法如下:
将 <?php phpinfo(); ?> 保存为php文件,并放到 D:\Program Files (x86)\xampp\htdocs 路径底下。
· 将PHP从HTML中分离 可以使用的方法:
<? . . . ?>
<?php . . . ?>
<script language="php"> . . . </script>
<% . . . %>
· PHP注释风格
/* */ C,C 风格多行注释
// C 风格单行注释
# Unix风格单行注释
· 如何处理简单的PHP错误
1) 要把PHP.ini 里的display_errors = On 才可以显示错误位置
2) 习惯使用echo 或者 print 打印
3) 学会使用注释来屏蔽符号来调试
//……….
/*………… */
#..............
二、PHP的组成部分
1、超全局变量
· $_SERVER超级全局变量包含由web服务器创建的信息,它提供了服务器和客户配置及当前请求环境的有关信息。· $_GET超级全局变量包含使用GET方法传递的参数的有关信息。
· $_POST超级全局变量包含用POST方法传递的参数的有关信息。
· $_COOKIE超级全局变量存储了通过HTTP cookie传递到脚本的信息。这些cookie一般是由以前执行的PHP脚本通过PHP函数setcookie ( ) 设置的。
· $_FILES超级全局变量包含通过POST方法向服务器上传的数据的有关信息。这个超级全局变量是一个二维数组,包含5个元素。第一个下标标示表单的文件上传元素名;第二个下标是五个预定义下标之一。
· $_ENV超级全局变量提供PHP解析所在服务器环境的有关信息。
· $_REQUEST超级全局变量是一个全能选手,它记录了通过各种方法传递给脚本的变量,特别是GET ,POST 和 COOKIE 。 建议少用这个超级变量,因为它不够安全。
· $_SESSION 超级全局变量包含与所有会话有关的信息。
· $GLOBALS 超级全局变量数组可以认为是超级全局变量的超集,包含全局作用域内的所有变量。
2、操作符和表达式
· $x=3;$y=$x++ + 3; è $y 首先变为 6(3+3),然后$x 增加1
· $x=3;
$y=++$x + 3; è $x 先增加1,$y 再变为 7(4+3)
· === è等同: 左边等于右边并且他们的类型相同
· settype() : 改变一个已有变量的数据类型,它与使用强制类型转换改变变量类型的区别是,强制类型转换会生成一个变量的拷贝,而保持原变量不动
$test = 3.14;
$a = settype($test, ‘integer’); è 此时,$a和 $test 的值都变为3
$a = (integer)$test; è 此时,$a的值变为3, $test 的值还是3.14
· . è连接操作符,可将任何数据类型当成字符串对待,而且结果也是字符串类型,当想把某种类型的表达式结果和一个字符串组合到一起的时候用它。
[b]3、常量的定义
define(“Age”, 26); è常量的定义必须用到define,此处定义的是数字
define(“NAME”, “hen”); è常量的定义必须用到define,此处定义的是字符串
define(“Age”, 26, true); è第三个参数为true,表示引用常量时不区分大小写,即
echo age; 与 echo AGE; 是一样的。
三、PHP的流程控制功能
1、函数的定义function 函数名(参数)
{
函数体 è 如果想引用该函数的返回值,则在return 语句中要使用&符号
}
· 函数名不区分大小写
· global(全局变量): 一个自定义函数中的变量是局部的,函数外不生效 ,如果想在函数之外或者别的函数中也可以访问该变量,则应该使用global,具体做法是:在函数体外进行变量声明和赋值,当函数体内要用该变量时,要用global进行一次声明(不是赋值)。
为了防止全局变量的混乱可以使用 unset($var)删除一个变量
$num=2;
function test($str)
{
global$num; =è再次声明,担不是赋值
$num++;
echo"<h1>".$num. " ".$str."</h1>"; è连接操作符
}
· static: 作用域仍然是局部的,不过会记住变量之前的值。
2、变量的引用
不同的名字访问同一个变量内容,相当于传址调用
· <?php
function add(&$num) è$ 前面没有 &
{ $num+=5; }
$orignum=10;
add($orignum); è虽然参数是引用的方式,但是在这里 $ 前面并没有 &
echo $orignum; è输出15
?>
· <?php
function &test(){
static $b=0;//申明一个静态变量
$b=$b+1;
echo $b;
return $b; }
$a=test();//这条语句会输出 $b的值 为1
$a=5; $a=test();//这条语句会输出 $b的值 为2
$a=&test();//这条语句会输出 $b的值 为3
$a=5; $a=test();//这条语句会输出 $b的值 为6[h1]
?>
3、数组
1. 创建数组 array & 数组操作符 []
array: 创建一个关联数组,并且想直接给数组中元素赋值时用它
数组操作符[]:创建一个新的数组,且开始时只有一个元素,或者给一个已存在的数组添加一个元素的时
候用它
2. 用方括号的语法来修改数组 ,格式: $arr[] = value
$arr = array("a" => "视频", "b"=>"教程", "c" => "六");
$arr['a'] = "PHP100";
3. 与数组相关的函数
使用 count 函数统计数组条数: count ( $arr );
使用 is_array函数判断数组 : is_array( $arr );
遍历数组:
foreach ( $数组名 as $c){
while ( list($k, $v) = each( $c)){
echo “$k ….. $v <br/>”;
}
echo “<hr/>”;
}
4、类
[h1]
过$a=&test()方式调用函数呢,他的作用是 将return$b中的 $b变量的内存地址与$a变量的内存地址 指向了同一个地方 即产生了相当于这样的效果($a=&b;)所以改变$a的值 也同时改变了$b的值 所以在执行了$a=&test(); $a=5; 以后,$b的值变为了5
[/b]
相关文章推荐
- PHP获取上个月、下个月、本月的日期(strtotime(),date())
- Matplotlib 教程
- matplotlib核心剖析
- thinkPHP的字母函数
- MyBatis调用存储过程,含有返回结果集、return参数和output参数
- 重置PHPCMS后台登录密码
- Web Api 输出Json格式数据,中文要进行Unicode编码(模拟PHP的json_encode输出)
- textprogerss
- yii1.*的增删改查
- PHP面向对象深入研究之【继承】,减少代码重复
- php接口数据加密、解密、验证签名代码实例
- 说一下output子句
- php浮点数的比较
- phpcms后台登录验证码删除
- 使用phpexecel类库导出数据
- 关于php 类 方法重定义的问题
- php学习第二天:代码重构
- 做为一个PHP的工作者第一篇blog
- 去掉phpcms的模板缓存
- TProfiler部署文档--笔记