php学习笔记

来源:互联网 发布:怎么看他人淘宝店销量 编辑:程序博客网 时间:2024/06/05 21:12

第一章:

1.php的开头和结尾标记

<?php ?>

2.php中关于$_SERVER[]的三个变量:

$_SERVER['SCRIPT_FILENAME']

$_SERVER['HTTP_USER_AGENT']

$_SERVER['SERVER_SOFTWARE'];

3.php中的变量以$开头,并且" $var "可以被解析。

4.字符串的表示有多种方法:"the string ", ' another string' ;字符串之间的拼接可以用 .   。

5.几个关于字符串的函数:strlen($string); strtolower(); strtoupper(); ucfirst();ucwords(); .= 等

6.数字:整数和实数   取整的函数round():把小数四舍五入为最接近的整数;number_format();

7.常量:define("NAME",'value'); 常量之前不用$,常量单独使用。php预定义的几个常量:PHP_VERSION, PHP_OS

8.php中最常用的两个打印函数:print 和 echo;

9.php中的三种注释://, /*  */ , #

10.php中的转义字符:\\,  \$, \', \",等。


第二章:
1.关于表单:

<fieldset>
  <legend></legend>
  <form action="process.php" method ="post">
   <input type="text"  name="user_name" />
   <input type="password" name="password" />
  </form>
</fieldset>

2.表单中的method方法:get 和post  区别;1) get 将表单数据拼接url后面,明文格式不安全,2)get对表单中内容大小有限制。

3.php中对提交的表单数据的处理:$_REQUEST["user_name"],$_REQUEST["password"],同样也可以用$_POST[] 处理。$_REQUEST[] $_POST[] 是两个超全局变量(superglobal Variable)。


4. isset()函数,用于检测变量是否被设置。is_numeric()测试是否是数字
 
5.良好的代码编程风格:缩进代码块!和 注释

6.php中的数组:array:一系列的键-值对(key-value):
  两种:索引数组(indexed array)和关联数组(associative array)
  前者用数字作为键,后者用字符作为键
     当数组使用字符串作为键,而又被包含字符串中,用{}括之。"hello $var['World']"

7.php中超全局数组:$_GET $_POST $_REQUEST, $_SERVER, $_ENV , $_SESSION, $_COOKIE

8.创建连续的数字数组:$ten = range(1,10);
 访问数组:foreach($array as $key=>$value){
    echo " the value at $key is $value";
    }

9.确定数组中的元素个数:$num = count($array);
  产生连续的字母:   $alphabet = range('a','z');
  数组的键可以是多个单词组成字符串 
  is_array()函数可以确定一个变量是不是数组类型。

10.字符串和数组的相互转化:
 $array = explode(separator,$string);
 $string = implode(glue,$array);
11.数组的排序函数:sort(),asort(),ksort(); rsort(),arsort(); krsort();
   随机排列数组的顺序函数:shuffle();
   更自然的顺序对数组排序函数:nasort();
   对**数组排序:usort();
   更改语言的设置: setlocale();

第三章:
1.php中用于包含外部文件的4个函数: include(),include_once();
       require(),require_once();
2.绝对路径和相对路径: . 当前目录;..父目录

3.php.ini配置文件中,可以调整include_path设置,它指示是否允许php检索包含文件。

4.require()失败时会对脚本产生更多影响,因此重要的文件用require(),不太重要的文件用include(); 而require_once() and include_once()在复杂的应用避免冗余。

5》站点的结构考虑的3个事项:1)易于维护 2)安全性 3)便于用户导航

6》在表单是否提交:用isset($_POST["submit"])来测试。
7》创建自己的php函数:
 fuction fuction_name() {
  //fuction code
 }
 
 fuction fuction_print($first, $last='bob'){
  //fuction code
 
  return $value;
 }
第四章:mysql简介
1.sql标识符:1)应该只包含字母/数字/下划线(不含空格)
   2)不应该和现有的关键字相同
   3)应该区分大小写 
   4)不能长于64字符(大约如此)
          5)在其域内必须唯一。

2.命名数据库元素:1》确定数据库的名称。2》确定表名 3》确定每一个列名

3.选择列类型:1》文本(字符串)2》数字 3》时间和日期
   char  varchar
   tinytext text mediumtext longtext 
   tinyint smallint mediumint int bigint
   float double decimal
   date datetime timestamp time
   enum set
  文本的变体:binary varbinary tinyblog mediumblob longblob
4:表的主键和外键

5. 使用mysql的客户端:
 1》登录: mysql -h hostname -u username -p
 2》help命令

6.使用phpMyAdmin (www.phpmyadmin.net)是用php编写的最好/最流行的应用程序之一。它的唯一用途是在web浏览器上提供一个Mysql服务器界面。

第5章SQL简介
1》创建数据库和表:
 create datebase database_name;
 describe database_name;
 show databases;
 use database_name;

 creat table table_name();
 show tables;
 show columns from table_name;===describe table_name
2>增删改查: insert into table_name values();
      delet update select
3>注意slq命令: 1)数值不应用引号括住
  2)字符串必须用引号括住
  3)日期和时间值必须用引号括住
  4)函数不能用引号括住
   5)单词NULL不能用引号括住
  6)单引号和双引号均可,但是要配对

4>正则匹配:使用like和 not like _ %
5>order by 对查询结果排序
6>限制结果集: limit
7>使用函数:now(); sha1(); upper(); 别名:(alias) as
8》文本函数:concat(t1,t2);concat_ws(s,t1,t2);length(t);left(t,y) right(t,x);
  trim(t); upper(t) lower(t); substring(t,x,y)
   文本正则:regexp(); not regexp();
9>数字函数:abs(n); ceiling(n); floor(n1); format(n1,n2); mod(n1,n2) pow(n1,n2)
  rand(),round(n1,n2); sqrt(n);
10>日期和实践函数: hour(dt); minute(dt);second(dt) dayname(dt); dayofmoth(dt) monthname(dt) month(dt) year(dt) curdate() curtime() now() unix_timestamp(dt);
 datetime timestamp date  time year
 格式化时间和日期:date_format() time_format() %e %d %D %W %a   %c %m %M %b   
 %Y,%y  %l,%h %k,%H %i,%S %r,%T %p


第六章:高级sql和mysql
1.join /索引 /执行全文查找和事务

2.数据库的设计:1)规范化:1》确定主键和外键 2》联系
    3》范式:
          第一范式:每个字段都是原子性(atomic)或者不可分的(undivisable); 每个列都是不同的。
          第二范式:首选必须满足第一范式,每个非键关联到主键。
   第三范式:

3.join: 内联结和外联结

4.对选择的结果进行分组:group by  avg(); count();group_concat() ;max() min(); sum();

5.创建索引:能够改进读取数据的速度; 4种索引:index,unique,fulltext; primary key 可以加索引的列1)在查询的where部分频繁使用的列;
        2)在查询的order by部分频繁使用的列
        3)频繁地用作连接焦点的列
        4)具有多个不同的列。
6.alter


7. like关键字哟娜与进行简单字符串的匹配;fulltext查找:match

8.执行事务: start transaction;  commit rollback

第7章:错误处理和调试

1.错误的种类:HTML/SQL/MYSQL/PHP四种都有可能错误
2.php的错误分为:语法错误(开启php中display_errors,否则只出现空白页):运行时错误:逻辑错误;
3.php的调试:
http://localhost/page.php 一个有用的工具就是,phpinfo();函数;应运行于多个浏览器中;
4.调试HTML: validator.w3.org 提供了一个有力的验证工具;使用Firefox 或Opera 
www.mozilla.comwww.opera.com
    Firefox有多种附加构件
5.显示php错误:不改配置文件,要在一个独立的脚本中打开display_errors,可使用这个函数ini_set();这个函数用指令名称和它应该具有的设置作为参数;ini_set('dispaly_errors',1);

6.php中的错误报告: 3类级别:注意(notice):这不会阻止脚本的执行,并且可能不一定是一个问题。
        警告(warning):这指示一个问题,但是不会阻止脚本的执行;
        错误(error):这会阻止脚本的继续执行;
 php的错误报告设置,与error_reporting()函数一起使用,或者在php.ini文件中使用,
 注意E_ALL 的值不同于旧版php并且不包括_STRICT(但在php6中存在)

编号 常量  报告
1 E_ERROR  致命的运行时错误(它会阻止脚本的执行)
2 E_WARNING 运行时警告(非致命错误)
4 E_PARSE  解析错误
8 E_NOTIC  注意(事情可能是或者可能不是一个问题)
256 E_USER_ERROR 用户生成的错误消息,由trigger_error() 函数生成
1024