一、php入门

2016-10-30  本文已影响0人  ManZb

1、了解php

  • 1.HTML中的action属性指定跳转的URL;
    method属性规定数据发送的方法,其中有get(附加到URL的结尾)和post(以单独消息的形式发送);
  • 2.php脚本程序是在服务器端被解释执行的,与JavaScript有本质的不同,JavaScript是被浏览器执行的;
  • 3.使用服务器端脚本语言的主要原因是能够为站点用户提供动态内容;

2、变量

  • 1.变量是表示数据的符号,标识符是变量的名称;
$a = 5;//$a是表示5这个数据的符号 a就属于标识符
标量包括:
Boolen,Integer,Float,String
复合类型包括:
Array,Object
特殊类型包括:
NULL(空),resource(资源)
可以将for()循环和可变变量结合起来重复一系列的表单域,如:存在name1,name2,name3等的表单域
for($i=1; $i<3; $i++){
    $temp = "name$i";
    echo $$temp."<br/>";
}
动态的创建变量名称,依次访问每一个表单域
$_GET,通过GET方法传递给脚本的变量数组;
$POST,通过POST方法传递给脚本的变量数组;
$COOKIE,cookie变量数组;
$_FOLES,与文件上载相关的变量数组;
$_ENV,环境变量数组
$_REQUEST,所有用户输入的变量数组,包含$POST,$GET,$COOKIE所包含的输入内容;
$_SESSION,会话变量数组

3、操作符

  • 1.前递增递减和后递增递减
①前递增递减
$a = 4;
echo ++$a;
//输出结果为5,因为执行过程为先将变量+1,然后将+1之后的结果赋值给原变量,然后输出。
②后递增递减
$a = 4;
echo $a++;
//输出结果为4,先执行输出操作,然后+1。

通常,将一个变量的值赋给另一个变量时,是产生一个原变量的副本,
再将这个副本保存在内存的另一个地方。例如:
$a = 5;
$b = $a;
$a = 7;//这时$b 依旧为5
这时,若改变$a的值,$b的值将不会变化。因为$a与$b指向的内存地址不是一个。

但是,我们可以使用操作符&来避免$a$b指向不同的问题

$a = 5;
$b = &$a;
$a = 7;//这时$b也=7
引用就相当于变量的一个别名,$b和$a指向相同的地址。
可以通过重置来改变指向的地址
unset($a);
重置不会改变$b(7)的值,只是破坏$a和值7保存在内存中的链接


在Linux操作系统中
$out = `ls -la`;
echo <pre> .$out. </pre>;
在window服务器上
$out = `dir c:`;
echo <pre> .$out. </pre>;

class sampleClass{...};
$myObject = new sampleClass();
if($myObject instanceof sampleClass){
    echo ' myObject is an instance of sampleClass ';
}

4、可变函数

  • 1.测试和设置变量类型gettype()和settype()
这两个函数原型为:
string gettype(mixed $var);
int settype(mixed $var, string type);
使用例子如下:
$a = 10;
echo gettype($a);//输出 Integer
settype($a, 'string');
echo gettype($a);//输出 String

php提供了特定类型的测试函数。返回值为true或false

*is_array();
*is_double()、is_float()、is_real() 具有相同功能
*is_long()、is_int()、is_integer()
*is_string();
*is_object();
*is_resource();
*is_null();
*is_scalar();  检查变量是否是标量(整数,浮点数,Boolen,字符串)
*is_numeric();  检查变量时候是任何类型的数字或纯数字字符串
*is_callable();  检查变量是否是有效的函数名称
isset()函数原型为:
boolen isset(mixed $var);
销毁变量用unset()函数:
void unset(mixed $var);
empty()函数原型为:
boolen empty(mixed $var);
*isset();检查变量是否设置
变量不存在返回false;
变量存在值为NULL,返回false;
其他返回true。
使用unset();释放变量之后,将不再是isset();
isset();只适用于变量,传递其他参数将解析错误。
检查常量是否设置可用defined();函数
*empty();检查变量是否为空
变量不存在返回true;
变量存在且值为NULL,0,'0',"",array(),false,等没有任何属性的对象,返回true;
int intval(mixed $var [, int $base = 10]);
float floatval(mixed $var);
string strval(mixed $var);
intval()函数允许在要转换的变量为字符串时指定转换的进制基础(如16进制的字符串转化为整数)

5、循环结构,流程控制

  • 1.可替换的控制结构语法
    endif,endswitch,endwhile,endfor,endforeach do...while循环没有可替换语法
if($a == 0){
   echo '为空!';
   exit;
}
相当于
if($a == 0) :
   echo '为空!';
   exit;
endif;

declare(directive){
    //block
}

这种结构用来设置代码块的执行指令,即关于后续代码如何运行的规则。
目前只实现了两个指令,ticks,encoding
ticks可以通过插入指令ticks = n来设置。它允许在代码块内部每隔n行代码运行特定的函数,用于测试和调试。通常条件表达式和参数表达式不可计时。[将在后面详细解释]
encoding可以指定每段脚本的编码方式
declare(encoding='ISO-8859-1');

上一篇 下一篇

猜你喜欢

热点阅读