那些年一起学习的PHP(三)


Posted in PHP onMarch 22, 2012

一:PHP数据的输出

PHP支持的丰富的数据类型。后来在学习中会反复使用,有其他语言的学习知识,比较记忆更容易了解PHP的独到之处。下面先阐述一下PHP的输出。PHP向浏览器的基本输出方式有Echo(),Print(),printf(),sprintf()我们可以对比一下一上四种输出方式。

Function Echo() print() printf() sprintf()
Return Void int:  ever return 1 int: string
Express Echo(string argument) print(argument) printf(string format) printf(string format)
Instruction 写入字符串即可 写入字符串,返回值是1,用来验证是否成功显示 支持输出格式字符串,格式参看下面讲述 同样格式字符串,但是不直接呈现浏览器

其实Echo()与print() 的区别是不太大的,使用哪一个完全取决于自己的喜好,后两者一样。什么叫格式化字符串输出呢?有C/C++语言时我们会明白这个意思,也就是输出时我们可以应该适当的格式化符号,让输出格式化。

二:PHP中使用到的格式化输出格式

这些格式化符号下表显示:

类型 描述 举例
%b 将参数认为是一个整数,显示其二进制数 printf(%d,10);=======>显示1010
%c 将参数认为是一个整数,显示其ASCII字符 printf(%c,65);======>显示A
%d 将参数认为是一个整数,显示其十进制 printf(%d,10);=======>10
%f 将参数认为是一个浮点数,显示其浮点数 printf(%f,2);========>2.00000
%o 将参数认为是一个整数,显示其八进制 Printf(%o,8)============10
%s 将参数认为是一个字符串,显示其字符串 printf(%s,”this  is a TV ”)=====>this is a TV
%u 将参数认为是一个整数,显示一个无符号十进制 printf(%u,-100)======>100
%x 将参数认为是一个整数,小写的十六进制
%X 将参数认为是一个整数,大写的
三:PHP中变量声明的注意点
在php中变量的声明类似于shell脚本语言,变量都是以$符号开始的,我们要注意以下几点:
1):$总是在变量前面,变量是有效的标示符。
2):变量是严格区分大小写,例如$Book与$book是不一样的。
3):PHP变量不需要显示声明,刚好与C语言相反。
4):声明之后便可以为变量赋值,赋值分为按值赋值,引用赋值引用赋值是按堆栈地址赋值

四:PHP中变量的的作用域
按照作用域区分变量有局部变量,全局变量,静态变量,PHP还有独特的超级全局变量。局部变量只能在声明的作用域中使用,全局作用变量在整个生命周期中都可以使用。静态变量是声明使用Static 修饰符,在函数退出后static 变量仍然在内存中存在。例如

<?php 
funtion keep() 
{ 
static $count=0; 
$count++; 
echo $count; 
echo "<br />"; 
} 
10: 
11: keep();//输出1 
12: keep();//输出2 
13: keep();//输出3 
14: keep();//输出4 
15: 
16: //你可能以为输出的值全部是1,但是刚好确实是1234,这里正是static的使用效果 
17: ?>

五:超级全局变量($_SERVER,$_GET,$_POST,$_COOKIE),$_FILES,$_ENV ,$_SESSION
再来看超级全局全局变量。PHP提供很多有用的预定义变量,可以再执行脚本的任意位置访问,用于提供大量与环境相关的信息,还可以获得当前用户会话(session),操作环境,本地环境等等。例如可以使用
foreach($_SERVER as $var => $value) 
{ 
//遍历输出所有系统超级变量 
echo "$var => $value <br />"; 
}

可以看到输出好多系统变量
HTTP_HOST
=>
Localhost
等等系统信息
我们就可以通过
$_SERVER[“HTTP_HOST”]
来获得这些全局变量。$_SERVER全局变量包含WEB服务器,客户配置,当前信息等可以通过查找文档使用。
另外还可以通过GET方法获取传递的变量。$_GET超级全局变量包含试用GET方法专递的参数的有关信息。例如请求的URL地址是http://www.baidu.com/index.html?cat=apache&id=145 ,就可以使用超级全局变量访问如下变量:$_GET[‘cat']=”apache”; $_GET[‘id']=”145” ,默认的情况下要访问通过GET方法传递的变量,$_GET 超级全局变量是唯一的访问途径,不能用$cat, $id的方式引用GET的变量,后续了解关于安全访问外部数据的章节会详细说明。
另外使用POST的方法也可以传递变量。
具体如下:$_POST超级全局变量包含用POST方法传递参数有关信息。
考虑如下的请求表单:
<form action="a.php" method="post"> 
<p/> Email-adress:<input type="text" name="email" size="20" maxlength="50" value=""> 
<p />Password:<br /> 
<input type="password" name="pswd" size="20" maxlength="15" value=""> 
<br/> 
<input type="submit" name="submit" size="20" maxlength="50" value="LOGIN"> 
</form>

通过目标脚本a.php就可以使用下面这些POST变量:
$_POST[‘email']=”zyl0395@126.com”;
$_POST[‘pswd']=”Bestyear”;
我们还可以使用超级全局变量保存COOKIE信息,$_COOKIE保存了HTTPcookie中的所有传到脚本的信息,这些cookie一般由以前执行的PHP脚本通过PHP函数setcookie()设置的。例如:
<?php 
$value = ' somewhere'; 
setcookie("TestCookie", $value); 
setcookie("TestCookie", $value, time()+3600); /* 一小时有效cookie */ 
setcookie("TestCookie", $value, time()+3600, "/~rasmus/", "example.com", 1); 
?>

这里看不懂无所谓的,后来还会专门研究cookie的知识。
$_FILES是通过POST向服务器上传文件使用的变量,$_files主要用在当需要上传二进制文件的地方,录入上传一个abc.mp3文件,则服务器端需要获得该文件的相关信息,则通过变量$_files来取得。 共有五个元素:
1):$_FILES['userfile']['name']
客户端机器文件的原名称。
2):$_FILES['userfile']['type']
文件的 MIME 类型,需要浏览器提供该信息的支持,例如“image/gif”。
3):$_FILES['userfile']['size']
已上传文件的大小,单位为字节。
4):$_FILES['userfile']['tmp_name']
文件被上传后在服务端储存的临时文件名。
5):$_FILES['userfile']['error']
和该文件上传相关的错误代码。['error'] 是在 PHP 4.2.0 版本中增加的。
$_EVN 是PhP服务器使用的有关信息, $_SESSION 获得会话的有关信息

六:PHP 常量定义使用
常量是程序中无法更改的量,非常有用如:圆周率
定义:define(”PI” ,3.1415926)
使用 echo PI;
七:关于PHP中的逻辑符号,运算等级,表达式,流程控制,逻辑等等不再介绍,基本和C++语言相符,这里只是简单写一下没有的部分。例如 Include 在PHP中的作用。
include在PHP中也是引入包含文件的句子,基本语法是include(/path/to/file)要引用/user/local/lib/php/wjgilmore/init.inc.php 则要这样:

<?php 
include "/user/local/lib/php/wjgilmore/init.inc.php "; 
?>

有个地方需要注意,就是
include在判断句中是,必须要用大括号{}界定
,否则会错误,这个要注意.,还可以通过include引用一个远程文件.如果文件所在的服务器支持PHP,通过传递必要的键值对(类似于GET请求的做法,所包含的变量也会得到解析)
例如:include “http://www.123.com/index.html?background=red”;
如果只引用一次,则用
include_once
,首先会检验是否引用了这个文件,如果没有则引用,如果有则不执行
include_once(),
确保一次。
同样的方法require是请求文件,同样是require_once请求一次。后续用到时间详细解释。
PHP 相关文章推荐
真正的ZIP文件操作类(php)
Jul 21 PHP
PHP分页显示制作详细讲解
Nov 19 PHP
介绍一些PHP判断变量的函数
Apr 24 PHP
分割GBK中文遭遇乱码的解决方法
Aug 09 PHP
单台服务器的PHP进程之间实现共享内存的方法
Jun 13 PHP
PHP PDOStatement对象bindpram()、bindvalue()和bindcolumn之间的区别
Nov 20 PHP
php文件缓存类用法实例分析
Apr 22 PHP
PHP使用正则表达式获取微博中的话题和对象名
Jul 18 PHP
smarty高级特性之对象的使用方法
Dec 25 PHP
PHP实现基于文本的摩斯电码生成器
Jan 11 PHP
LINUX下PHP程序实现WORD文件转化为PDF文件的方法
May 13 PHP
如何离线执行php任务
Feb 21 PHP
那些年一起学习的PHP(二)
Mar 21 #PHP
那些年一起学习的PHP(一)
Mar 21 #PHP
ecshop 批量上传(加入自定义属性)
Mar 20 #PHP
批量去除PHP文件中bom的PHP代码
Mar 13 #PHP
TMDPHP 模板引擎使用教程
Mar 13 #PHP
Notice: Trying to get property of non-object problem(PHP)解决办法
Mar 11 #PHP
PHP图片处理类 phpThumb参数用法介绍
Mar 11 #PHP
You might like
php网上商城购物车设计代码分享
2012/02/15 PHP
php+mysqli实现批量执行插入、更新及删除数据的方法
2015/01/29 PHP
PHP里的单例类写法实例
2015/06/25 PHP
PHP创建多级目录的两种方法
2016/10/28 PHP
php json相关函数用法示例
2017/03/28 PHP
实例分析PHP将字符串转换成数字的方法
2019/01/27 PHP
javascript 嵌套的函数(作用域链)
2010/03/15 Javascript
JavaScript实现网页上的浮动广告的简单方法
2013/06/14 Javascript
JS实现定时页面弹出类似QQ新闻的提示框
2013/11/07 Javascript
iframe子父页面调用js函数示例
2013/11/07 Javascript
Javascript中数组sort和reverse用法分析
2014/12/30 Javascript
jQuery鼠标经过方形图片切换成圆边效果代码分享
2015/08/20 Javascript
jQuery解析XML 详解及方法总结
2016/09/28 Javascript
微信小程序 生命周期详解
2016/10/12 Javascript
Angular6 用户自定义标签开发的实现方法
2019/01/08 Javascript
微信小程序实现类似微信点击语音播放效果
2020/03/30 Javascript
简单了解常用的JavaScript 库
2020/07/16 Javascript
跟老齐学Python之关于类的初步认识
2014/10/11 Python
Python模拟用户登录验证
2017/09/11 Python
Python图像处理之识别图像中的文字(实例讲解)
2018/05/10 Python
python针对不定分隔符切割提取字符串的方法
2018/10/26 Python
python批量从es取数据的方法(文档数超过10000)
2018/12/27 Python
Django组件之cookie与session的使用方法
2019/01/10 Python
pip安装python库的方法总结
2019/08/02 Python
PyQt5通过信号实现MVC的示例
2021/02/06 Python
Kathmandu新西兰官网:新西兰户外运动品牌
2019/07/27 全球购物
自主招生自荐信范文
2013/12/04 职场文书
国贸专业大学生职业生涯规划范文
2014/01/10 职场文书
《争吵》教学反思
2014/02/15 职场文书
业务员的岗位职责
2014/03/15 职场文书
小学生期末评语大全
2014/04/21 职场文书
商铺门面租房协议书
2014/10/21 职场文书
2015年班长个人工作总结
2015/04/03 职场文书
学子宴致辞大全
2015/07/27 职场文书
高一地理教学工作总结
2015/08/12 职场文书
Python可变集合和不可变集合的构造方法大全
2021/12/06 Python