《php和mysql web开发》读书笔记

有些话、适合烂在心里 提交于 2020-04-04 04:09:10

总算是强迫自己把第一篇给看完了,在这里做一个小结,将一些知识点记录下来。

一、第一篇 使用PHP

1.php中的注释。php支持c、c++和shell脚本风格注释  /**/多行注释  //单行注释  # 单行注释 

2.date()函数。  date("H:i:s");  //15:24:23  date("ymd");  //20130707

3.使用$_POST['username'] $_GET'['username']来得到表单内容,取决于提交表单时使用的方法是post 还是get。无论使用什么方式,都可以使用$_REQUEST['username']来得到表单内容。

4.标识符是变量名称的名称,标识符可以是任何长度。由字母、数字、下划线组成。不能以数字开始。标志符区分大小写,但是函数名称是个例外,函数名不区分大小写。php的特性之一就是它不要求在使用变量之前声明变量。

5.php中的8种数据类型,6种常用,2种不常用。

 Integer(整数)  用来表示整数

 Float(浮点数,也叫Double,双精度值)  用来表示所有实数

 String(字符串)  用来表示字符串

 Boolean(布尔值)  用来表示true 或false

 Array(数组)    用来保存具有相同类型的多个数据项。

 Object(对象)   用来保存类的实例

还有两个特殊的类型:NULL(空)和resource(资源)没有被赋值,已经被重置的为NULL。特定的内置函数(例如数据库函数)将返回resource类型的变量。

6.声明和使用常量  define('OILPRICE',100); 没有$符号  使用时直接使用名称即可。 echo OILPRICE;  可以使用phpinfo()来查看php预定义的许多常量。

7.变量的作用域 

 超级全局变量,它们可以在任何地方使用和可见。$GLOBALS['myvariable']  $_SERVER 服务器环境变量数组 $_GET $_POST  $_COOKIE  $_FILES与文件上传相关的变量数组  $_ENV 环境变量数组  $_REQUEST 所有用户输入的变量 数组,包括$_GET $_POST 和$_COOKIE所包含的输入内容。  $_SESSION 会话变量数组

8. $a and $b  $a or $b 与 $a && $b  $a || $b 作用相同,但是前者的优先级要低。

9.错误抑制操作符 。错误抑制操作符@可以在任何表达式前面使用,例如 $a = @(57/0);如果没有@操作符,代码会产生一个除0警告,使用这个操作符,警告会被抑制住。

10.执行操作符。它是一对反向单引号`` 在键盘上数字1的左边。在windows 上可以使用如下代码得到c盘下的文件列表

$output = `dir c:`;
echo "<pre>$output</pre>"

11.一些常用函数的使用

$a = 4;
echo gettype($a).'<br>';    //得到数据类型
settype($a,'double');        //设置数据类型
echo gettype($a)

is_array()检查变量是否是数组,is_double() is_string()   is_null() 检查变量是否为null    is_scalar() 检查该变量是否是标题,即一个整数,浮点数,布尔值,字符串。is_numeric() 检查该变量是否是任何类型的数字或字符串。is_callable() 检查该变量是否是有效的函数名称。

isset()用来测试变量的状态。如果变量存在,则返回true。与之相对的unset()函数来销毁一个变量。bool empty() 可以用检查一个变量是否存在,以及它的值是否为非空和非0,返回true 或false.

12.if 语句

$a = 69;
if($a>90){  
    echo "a is bigger than 40";
}elseif($a>50) {  
    echo "a is bigger than 50";    
}else {  
    echo "last";
}
//如果有一个条件成立,则以后的语句就不会再执行了,这一点和 switch遇到 break:语句时才会停止是不相同的。
//如果使用了 if else 后面不能再加elseif  通常情况即用{}来将条件语句后面的值括住时, else if 与 elseif 作用相同
//但是手册上说如果如果不是用花括号,而是用: 则只能用 elseif ,用else if 时会出现编译错误 需要注意的是与: 匹配的是 endif

13.如果希望停止一段代码的执行,可以有3种方法。在switch循环时可以用break; 在for循环中如果希望跳到下一次循环,可以使用continue语句。如果希望结束整个php脚本的执行,可以使用exit;

14.php中的文件处理。

  要在php中打开一个文件,可以使用fopen()函数。$fp = fopen('ordes.txt', 'ab' , true);  如果fopen()成功打开了一个文件,该函数返回一个指向这个文件的文件指针。文件指针保存在$fp中,当希望读写这个文件时,将使用这个变量来访问文件。

   php中写文件,fwrite($fp, $outputstring ,strlen($outputstring));  将保存在$outputstring中的字符串写入到$fp指向的文件中。 strlen()用来得到字符串的长度。

  关闭文件。fclose($fp); 如果文件被成功地关闭,函数将返回一个true值,反之,该函数将返回false;

  知道何时读完文件 feof()   全称File End Of File  。 while(! feof($fp))  用while循环来读取文件,直到文件末尾。

  每次读取一行数据。fgets() 、fgetss()、fgetcsv()  $order = fgets($fp ,999) ; fgetss()与fgets()相似,但是它可以过滤字符串中包含的php和html标记。

  读取整个文件。 readfile()、fpassthru() 、file() 。readfile('ordes.txt');  打开文件并将内容输出来浏览器中

  $fp = fopen('ordes.txt', 'ab' , true);   fpassthru($fp); 如果操作成功,fpassthru()返回true,否则返回false

  $filearray = file('orders.txt');  将整个文件读入到一个名为$filearray的数组中,文件中的第一行都将作为一个元素保存在这个数组中。

  读取一个字符。fgetc()  。 $char = fgetc($fp);

  读取任意长度 fread()。 string fread(resource fp, int length);

  查看文件是否存在。file_exists  确定文件大小 filesize()  nl2br() 函数将输出的\n字符换成html的换行符<br/>

  删除一个文件。unlink() 无法删除将返回false 。php中没有名为delete的函数。

  rewind()可以将文件指针复位到文件的开始。ftell()可以以字节为单位报告文件指针当前在文件中的位置 。fseek()可以将文件指针指向文件的某个位置。

  文件锁定。flock()

15.php中的数组。

echo '<br>';        //数组的使用1
$products = array('car','picture','camara');
foreach($products as $m){  
    echo $m."  ";
}

echo '<br>';        //数组的使用2

$products2 =array('car'=>'bmw','house'=>'miantian');
foreach($products2 as $key =>$m){  
    echo "$key". "$m"."  ";
}


echo '<br>';            //数组的使用3    list可以将一个数组分解成一系列的值
reset($products2);        //reset函数将数组内部的指针倒回到第一个单元,并返回数组的第一个元素的值,如果数组为空则返回false
//echo reset($products2); 输出bmw
while(list($key,$value) = each($products2)){  // 使用each时,如果上面已经用到了$products2,则必需要用reset将当前元素重置到数组的开始处
    echo "$key-->"."$value"."  ";
}

16.数组的排序

$prices = array('Trice'=>100,'Oil'=>10,'Plugs'=>4,'acc'=>5);
asort($prices);
var_dump($prices);                    //4,5,10,100 按照数组的值来进行升序排列   arsort 反向排序  krsout也是反向


echo '<br>';
ksort($prices);
var_dump($prices);            //Oil,Plugs,Trice acc  ksort按照数组的关键值进行升序排序,应该是按ascii排序的 a为97 小写字母比大写子母大。

echo '<br>';
sort($prices);
var_dump($prices);            //array(4) { [0]=> int(4) [1]=> int(5) [2]=> int(10) [3]=> int(100) }  使用sort之后,会对数组的关键字重新赋值成数值,故最好只用于1维数组
                            // sort 是对值进行升序排序,如果仅仅是用于一维数组,且其关键字为数字 则其功能与 asort()相同。                    
echo '<br>';
$arr4=array(35,26,58,96,12,36,48); 
shuffle($arr4);            //随机排序
print_r($arr4);        

echo '<br>';
$arr5=array(35,26,58,96,12,36,48); 
$arr6 = array_reverse($arr5);            //反向排序    Array ( [0] => 48 [1] => 36 [2] => 12 [3] => 96 [4] => 58 [5] => 26 [6] => 35 )
$arr6 = array_reverse($arr5,true);        //Array ( [6] => 48 [5] => 36 [4] => 12 [3] => 96 [2] => 58 [1] => 26 [0] => 35 )  如果参数加了true 会保留原来的键名
print_r($arr6);        

17.数组的其它操作

每个数组都有一个内部指针指向数组中的当前元素。当使用each()时,就间接地使用了这个指针。

如果创建一个新数组,那么当前指针就被初始化,并指向数组的第一个元素。调用current($array_name)将返回第一个元素

调用next()或each()将使指针前移一个元素。each($array_name)会在指针前移一个位置之前返回当前元素,而next($array_name) 是将指针前移,返回新的当前元素。

reset($array_name)返回指向数组第一个元素的指针,end(array_name)将指针移到数组末尾。分别返回数组的第一个元素和最后一个元素。

prev()函数和next()函数相反。将当前指针往回移一个位置然后再返回新的当前元素。

使用each() current() reset() end() next() pos() prev()可以自己编写任何顺序浏览数组的代码。以下为反向输入数组元素例子。

$array = array(1,2,3);
$value = end($array);
while($value){  
    echo "$value <br>";
    $value = pre($array);
}

对数组的每一个元素使用相同方式修改。使用 array_walk()函数。

18.字符串的格式化

 

21.require('demo.php'); 与include('demo.php');

 

 

二、使用MySql

1.

 

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!