找回密码
 注册
搜索
热搜: java php web
查看: 2777|回复: 4

[笔记]《PHP程序设计 第二版》学习笔记(二)

[复制链接]
发表于 2009-1-26 20:26:54 | 显示全部楼层 |阅读模式
[笔记]《PHP程序设计 第二版》学习笔记(二)
数据类型 Data Types
PHP提供了8种值的类型。4种是标量型(单值)的:整型、浮点数、字符串和布尔型;两种是复合型(集合)的:数组和对象;剩下的两种是特殊类型的:资源和NULL。

整型 Integers
整型都是整数,值的范围一般是从-2,147,483,648到+2,147,483,647。
整型直接量可以用十进制、八进制或十六进制表示。十进制值由不以0开头的数字序弄表示。八进制数由一个前导0和一个0-7的数字序列组成。十六进制值以0x开头,接着是数字0-9或字母A-F的序列。字母可以大写或小写,但是一般使用大写。这三种进制都可以包含正负号。

使用is_int()(或别名is_integer())来测试一个值是否为整型。

浮点型 Floating-Point Numbers
浮点型用十进制数字表示数值。通常,允许数值在1.7E-308和1.7E+308之间,精确到15位数字。
浮点型可以用科学记数法表示数。
浮点型的值仅仅是数的近似表示。这意味着写代码时要避免假定浮点数是完全精确的,例如使用==直接比较两个浮点数的值。一般的做法是移动若干次小数点位置后再比较。
使用is_float()(或别名is_real())来测试一个值是否是浮点数。

字符串 Strings
字符串直接量用单引号或双引号分隔。
双引号中的变量会进行解析,单引号中的则不解析。
双引号中的转义序列:
\"双引号 \n换行 \r回车 \t制表符 \\反斜杠 \$美元符号 \{左大括号 \}右大括号 \[左中括号 \]右中括号 \0~\777用八进制表示的ASCII字符 \x0~\xFF
单引号中的转义序列:
\\反斜杠 \'单引号
测试两个字符串是否相等,可以使用==比较操作符。
可以使用is_string()来测试一个值是否为字符串。

布尔型 Booleans
布尔值表示一个“真值”,用于说明某事是真或假。
在PHP中,下面的值为false:关键字false,整数0,浮点数0.0,空字符串("")和字符串"0",元素个数为0的数组,没有值或函数的对象,NULL值。
PHP提供了true和false关键字。
一个值不是假的就是真的,包括所有资源类型(Resorce)变量的值。
可以使用is_bool()来测试一个值是否是布尔型。

数组 Arrays
数组保存了一组值,这些值可以由位置(一个数字,0是第一位)或一些标识性的名称(字符串)一确定和关联。
Array()构造了一个数组。
有几种方式来遍历数组,最常用的是foreach循环。
可以使用多种排序函数对数组元素进行排序。
可以使用is_array()来测试一个值是否为数组。

对象 Objects
类(class)是面向对象设计的基本单元。类是一个包含属性(变量)和方法(函数)的结构的定义。类用关键字class来定义。
一旦定义了一个类,可以用关键字new来生成这个类的任意多个对象,类的属性和方法可以用->符号来访问。
可以使用is_object()来测试一个值是否为对象。

资源 Resources
资源实际上是整数。使用资源的主要好处是它会自己完成内存管理。
当没有任何对资源的引用时,它会自动关闭。
尽管资源可以自动销毁,大多数扩展提供了一个特定的关闭或结束函数。在合适的地方显式地调用该函数,这种方式比依赖于变量作用域来触发资源销毁更好。
可以使用is_resource()来测试一个值是否为资源。

NULL NULL
关键字NULL不区分大小写。
NULL值表示一个变量没有值。
可以使用is_null()来测试一个值是否为NULL。

变量 Variables
变量可以存放任意类型的值。在编译或运行时没有变量的类型检查。可以用其他不同类型的值替换一个变量的值。
在PHP中不需要用显式的语法来声明变量。
一个变量没有被设置值,则其值即为NULL。

可变变量 Variable Variables
可以引用名字存放在另外一个变量里的变量的值。

变量引用 Variable References
引用就是创建变量的别名。
在赋值之后,两个变量是同一个值的不同名字,销毁其中一个变量,不会影响到另一个变量的值。
函数可以通过引用返回值。

变量作用域 Variable Scope
由变量声明的位置控制的变量作用域(scope),决定程序的哪些部分可以访问变量。在PHP中有4种类型的变量作用域:局部作用域、全局作用域、静态变量和函数参数。

局部作用域
在一个函数中声明的变量就是此函数的局部变量,它只在该函数的代码中可见,在函数外面是不可访问的。而定义在函数外的变量(全局变量)在函数中也不可访问 。

全局作用域
在函数外声明的变量就是全局的变量,它们可以在程序的任何部分被访问。
默认不能在函数中访问全局变量。要让一个函数可以访问全局变量,可以在函数中使用关键字global来声明这个变量在函数中。
另一个方法是使用PHP的$GLOBALS数组来更新全局变量,而不是直接访问变量。

静态变量
静态变量仅在局部函数中存在,但当程序执行离开此作用域时,其值并不丢失。下一次调用函数时,上次执行得到的结果仍然得以保留。可以使用关键字static来声明静态变量。

函数参数
函数参数是局部的,意味着它们只能在它们的函数内有效。

垃圾收集 Garbage Collection
PHP使用引用计数(reference counting)和写时复制(copy-on-write)来管理内存。写时复制保证了在变量间复制值时不浪费内存,引用计数保证了不再需要时将内存交还给操作系统。

可以使用isset()来测试一个变量是否被设置甚至是空字符串。
可以使用unset()来移除一个变量的值。
发表于 2009-1-26 22:31:11 | 显示全部楼层
我觉得大家如果学习过几种编程语言的话,最好结合着作个比较,会有益于更好的学习,这些基本理论看似相似,还是有细微的差别
回复

使用道具 举报

发表于 2009-1-26 21:50:37 | 显示全部楼层
非常感谢您的分享,我下下看
回复

使用道具 举报

发表于 2009-1-26 22:28:57 | 显示全部楼层
语言与语言之间还是有差别的,虽然很类似,学过其他的,比如c,可以迅速的去看php的语法。其实最重要的还是实际应用,就是自己做个东西出来。
回复

使用道具 举报

 楼主| 发表于 2009-1-26 21:02:10 | 显示全部楼层
CSS 实用笔记
CSS 实用笔记

一、为什么用CSS
一组样式可以调用在多个对象上
语法易学易懂(比HTML的语法还容易学,学了HTML之后,学CSS将非常容易)
丰富的样式效果
是 DHTML 的基础
用css布局的一个好处是可以批量对页面进行修改,它能将文档结构和表现层分离开来,
减轻工作量和服务器的负荷,增加站点的扩展能力和应用。

二、什么是CSS
CSS的英文是Cascading Style Sheets,中文可以翻译成串联式样式表。

三、CSS分类:按其位置可以分成三种
1、内嵌样式:
内嵌样式是混合在HTML标记里使用的,用这种方法,可以很简单的对某个元素单独定义样式。内嵌样式的使用是直接将在HTML标记里加入style参数。而style参数的内容就是CSS的属性和值,如下例:
<p style="color: sienna;margin-left: 20px;">
这是一个段落
</p>
<!--这个段落颜色为土黄,左边距为20象素-->
在style参数后面的引号里的内容相当于在样式表大括号里的内容。
    注意:style参数可以应用于任意BODY内的元素(包括BODY本身),除了BASEFONT、PARAM和SCRIPT。

2、内部样式表
这是最典型的CSS的声明方式,但我 个人 认为:,影响页面的外观;
         内部样式表是把样式表放到页面的<head>区里,这些定义的样式就应用到页面中了,样式表是用<style>标记插入的,从下例中可以看出<style>标记的用法:
<head>
……
<style type="text/css">
<!--
hr {color: sienna}
p {margin-left: 20px}
body {background-image: url("images/back40.gif")}
-->
</style>
……
</head>
         注意:有些低版本的浏览器不能识别style标记,这意味着低版本的浏览器会忽略style标记里的内容,并把style标记里的内容以文本直接显示到页面上。为了避免这样的情况发生,我们用加HTML注释的方式(<!-- 注释 -->)隐藏内容而不让它显示:

3、外部样式表:
调用外部样式表是把样式表保存为一个样式表文件,然后在页面中用<link>标记链接到这个样式表文件,这个<link>标记必须放到页面的<head>区内,如下:

<head>
……
<link href="mystyle.css" rel="stylesheet" type="text/css" media="all">
……
</head>
         上面这个例子表示浏览器从mystyle.css文件中以文档格式读出定义的样式表。rel=”stylesheet”是指在页面中使用这个外部的样式表。type=”text/css”是指文件的类型是样式表文本。href=”mystyle.css”是文件所在的位置。media是选择媒体类型,这些媒体包括:屏幕,纸张,语音合成设备,盲文阅读设备等。

         一个外部样式表文件可以应用于多个页面。当你改变这个样式表文件时,所有页面的样式都随之而改变。在制作大量相同样式页面的网站时,非常有用,不仅减少了重复的工作量,而且有利于以后的修改、编辑,浏览时也减少了重复下载代码。

四、CSS注释
为了方便你自己或者他人日后更好地理解你的CSS代码,你可以写CSS代码注释。CSS代码注释以/*开头,以*/结束。
/* 定义段落样式表 */
p
{
text-align: center; /* 文本居中排列 */
color: black; /* 文字为黑色 */
font-family: arial /* 字体为arial */
}
五、基本语法
CSS的定义是由三个部分构成:选择符(selector),属性(properties)和属性的取值(value)。
         基本格式如下:

selector {property: value}       /*(选择符 {属性:值}) */
         选择符是可以是多种形式,一般是你要定义样式的HTML标记,例如BODY、P、TABLE……,你可以通过此方法定义它的属性和值,属性和值要用冒号隔开:

body {color: black}
         选择符body是指页面主体部分,color是控制文字颜色的属性,black是颜色的值,此例的效果是使页面中的文字为黑色。
         如果属性的值是多个单词组成,必须在值上加引号,比如字体的名称经常是几个单词的组合:

p {font-family: "sans serif"}    /*(定义段落字体为sans serif)*/
         为了使你定义的样式表方便阅读,你可以采用分行的书写格式:
p
{
text-align: center;
color: black;
font-family: arial
}

/*(段落排列居中,段落中文字为黑色,字体是arial)*/

六、选择符组 (集体声明 和 分项声明方式)
你可以把相同属性和值的选择符组合起来书写,用逗号将选择符分开,这样可以减少样式重复定义:
  h1, h2, h3, h4, h5, h6 { color: green }
/*(这个组里包括所有的标题元素,每个标题元素的文字都为绿色)*/
p, table{ font-size: 9pt }
/*(段落和表格里的文字尺寸为9号字)*/
/*效果完全等效于:*/
p { font-size: 9pt }
table { font-size: 9pt }

七、类选择符
用类选择符你能够把相同的元素分类定义不同的样式,定义类选择符时,在自定类的名称前面加一个点号。假如你想要两个不同的段落,一个段落向右对齐,一个段落居中,你可以先定义两个类:

p.right {text-align: right}
p.center {text-align: center}
         然后用不在不同的段落里,只要在HTML标记里加入你定义的class参数:
  <p class="right"> 这个段落向右对齐的
</p>

<p class="center">
这个段落是居中排列的
</p>

<p class="right"> 这个段落向右对齐的
</p>

<p class="center">
这个段落是居中排列的
</p>
         注意:类的名称可以是任意英文单词或以英文开头与数字的组合,一般以其功能和效果简要命名。

         类选择符还有一种用法,在选择符中省略HTML标记名,这样可以把几个不同的元素定义成相同的样式:
  .center {text-align: center}
         (定义.center的类选择符为文字居中排列)
         这样的类可以被应用到任何元素上。下面我们使h1元素(标题1)和p元素(段落)都归为“center”类,这使两个元素的样式都跟随“.center”这个类选择符:

<h1 class="center">
这个标题是居中排列的
</h1>
<p class="center">
这个段落也是居中排列的
</p>
         注意:这种省略HTML标记的类选择符是我们经后最常用的CSS方法,使用这种方法,我们可以很方便的在任意元素上套用预先定义好的类样式。

八、 ID选择符
在HTML页面中ID参数指定了某个单一元素,ID选择符是用来对这个单一元素定义单独的样式。
         ID选择符的应用和类选择符类似,只要把CLASS换成ID即可。将上例中类用ID替代:

<p id="intro">
这个段落向右对齐
</p>
         定义ID选择符要在ID名称前加上一个“#”号。和类选择符相同,定义ID选择符的属性也有两种方法。下面这个例子,ID属性将匹配所有id="intro"的元素:

#intro
{
font-size:110%;
font-weight:bold;
color:#0000ff;
background-color:transparent
}
         (字体尺寸为默认尺寸的110%;粗体;蓝色;背景颜色透明)
         下面这个例子,ID属性只匹配id="intro"的段落元素:

p#intro
{
font-size:110%;
font-weight:bold;
color:#0000ff;
background-color:transparent
}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|软晨网(RuanChen.com)

GMT+8, 2024-11-23 05:52

Powered by Discuz! X3.5

Copyright © 2001-2023 Tencent Cloud.

快速回复 返回顶部 返回列表