入门PHP的几个小case

一,前言

作为一名Java工程师,本人是很不乐意使用其他的语言开发项目的。但是呢,因项目需要,客户需求,不得已才零基础开发实战项目。

没办法啦,客户是上帝,满足客户的需求是我们的职责所在,干巴爹!


二,概要

print与print_r的区别、echo 和 print 的区别、var_dump()和print_r()的区别。

$_request与$_post、$_get的区别。

compact 的使用、extract的使用。


三,详情

1.echo 和 print 的区别

共同点:首先echo 和 print 都不是严格意义上的函数,他们都是 语言结构;他们都只能输出 字符串,整型跟int型浮点型数据。不能打印复合型和资源型数据;

而区别是:echo 可以连续输出多个变量,而print只能一次输出一个变量。print打印的值能直接复制给一个变量,如 $a = print “123”;

而echo 不可以,它没有像函数的行为,所以不能用于函数的上下文。在使用时,echo() 函数比 print()速度稍快。

2.var_dump()和print_r()的区别

共同点:两者都可以打印数组,对象之类的复合型变量。

区别:print_r() 只能打印一些易于理解的信息,且print_r()在打印数组时,会将把数组的指针移到最后边,使用 reset() 可让指针回到开始处。 而var_dump()不但能打印复合类型的数据,还能打印资源类型的变量。且var_dump()输出的信息则比较详细,一般调试时用得多。

3.

print()    只能打印出简单类型变量的值(如int,string) 

print_r() 可以打印出复杂类型变量的值(如数组,对象) 

print_r是函数,语句没有返回值,函数可以有返回值(即便没有用) 

print 实际上不是函数(而是语言结构),所以可以不用圆括号包围参数列表。

和 echo 最主要的区别: print 仅支持一个参数,并总是返回 1


4.

php中有$_request与$_post、$_get用于接受表单数据。

(1)、$_request与$_post、$_get的区别和特点

$_REQUEST[]具有$_POST[] $_GET[]的功能,但是$_REQUEST[]比较慢。

通过post和get方法提交的所有数据都可以通过$_REQUEST数组获得。

(2)、$_post、$_get的区别和特点

  1. get是从服务器上获取数据,post是向服务器传送数据。

  2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。

  3. 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。

  4. get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。

  5. get安全性非常低,post安全性较高。

举例:mypage?id=1这种就是GET方式传值,可以用$_request和$_get接受传值。


5.

compact 的作用是 建立一个数组,包括变量名和它们的值。

对每个参数,compact() 在当前的符号表中查找该变量名并将它添加到输出的数组中,变量名成为键名而变量的内容成为该键的值。

简单说,它做的事和 extract() 正好相反。返回将所有变量添加进去后的数组。


6.

语法:extract(array,extract_rules,prefix)

extract() 函数的作用是从数组中将变量导入到当前的符号表。

该函数使用数组键名作为变量名,使用数组键值作为变量值。针对数组中的每个元素,将在当前符号表中创建对应的一个变量。

第二个参数 type 用于指定当某个变量已经存在,而数组中又有同名元素时,extract() 函数如何对待这样的冲突。

该函数返回成功导入到符号表中的变量数目。


你可能感兴趣的:(入门PHP的几个小case)