`

初学php

    博客分类:
  • php
阅读更多

自定义安装PHP
1、下载apache
    apache_2.2.2-win32-x86-no_ssl.msi
    安装apache
2、下载php地址
    http://windows.php.net/downloads/releases/archives/php-5.3.5-Win32-VC6-x86.zip
    解压到相关目录
VC6:使用Apache+php
VC9:使用IIS+PHP
-------------------------------------------------------------------------------------------
apache+php整合
在apache的httpd.conf文件中添加如下配置

#LoadModule vhost_alias_module modules/mod_vhost_alias.so(找到此注释)

LoadModul php5_module ~php安装路径/php5apache2_2.dll  --加载php

PHPIniDir "~php模块安装路径"   
AddType application/x-httpd-php .php .phtml

1、更改php-5.3.5-Win32-VC6-x86目录下的php.ini-development文件更改为php.ini(启用开发模式)
2、更改完后在php.ini中指定扩展模块路径 extension_dir="~php安装路径/ext"
---------------------------------------------------------------------------------------------
测试:
1、在apache->htdocs目录下新建test.php
    <?php phpinfo() ?>
2、输入http://localhost/test.php
---------------------------------------------------------------------------------------------
整合mysql
1、下载、安装mysql
2、在php.ini文件开启支持mysql
    extension = php_bz2.dll    //启用bz库,用于数据压缩
    extension = php_gd2.dll    //启用图像库
    extension = php_mysql.dll  //启用mysql库
    extension = php_mysqli.dll  //启用mysql库
3、测试是否连接mysql
    <?php
    $test = mysql_connect("localhost","root","root");
    if($test){
        echo 'ok';
        }else{
        echo 'no ok';
        }
    ?>
-------------------------------------------------------------------------------------------------
整合phpmyadmin(这个组件用于管理mysql数据库,可以不装)
1、下载phpMyAdmin-3.4.5-all-languages.zip http://www.phpmyadmin.net
2、解压后,拷贝到apache的hadocs目录下,然后输入http://localhost/phpmyadmin/setup/index.php根据提示逐步安装
-------------------
手册下载
http://www.php.net/download-docs.php
------------------------------------------------------------------------------------------------------
1、PHP里的页面相互调用
    require(): require ("myfuns.php");将myfuns.pnp内容引入,通常适应与调用函数的使用
    require_once():require_once("myfuns.php");同一个文件只读取一次
    require和require_once的区别
        1、require在引入文件的时候一旦出错,就会报fatal erro,并退出程序,require_once()出错,也会退出程序
        2、前者遇到包含文件,后者会判断是否已经包含过了,如果已包含则不再包含文件,一可以节省资源,二可以避免重复定义的错误
        3、建议使用require_once();
    include():通常放在PHP程序的最前面,PHP在执行前,就会先读入include所引入的页面,如果出现错误,程序不会退出会继续执行
    include_once():同一个文件只读取一次
    include()和include_once()的区别
        1、include和include_once()都可以把某个php文件引入到本页面,include和include_once()在包括一个文件的时候出错,会给出警告,但是还是会继续执行。
        2、前者遇到包含文件,后者会判断是否已经包含过了,如果已包含则不再包含文件,一可以节省资源,二可以避免重复定义的错误
        3、建议使用include_once();
    require()和include的区别
        1、PHP程序在执行前,就会先读入require所指定引入的档案,使它变成PHP程序网页的一部分(执行之前)
        2、PHP程序网页在读到include的档案时,才将它读进去(执行到的时候)
2、面向对象
    1、class MyPc{//成员属性var $price;//function vod(){$this -> price;}}
       成员属性:var $price、public $price;
       成员方法:function vod(){}
       $pc1 = new MyPc();
           $pc1 -> price;//使用->访问对象内容

   $pc1 :: price; //使用 :: 访问对象属性

    2、对象中的$this关键字
       $this关键字是用来访问当前对象中的对象属性和对象方法的系统变量
    3、初始化对象  __construct()
       class MyPc{fucntion _construct(){}};也可写为class MyPc{function MyPc(){}}
    4、定义 header()头部输出格式
       header("Content-Disposition(定义输出的文件类型):filename=php100.xls(定义输出的文件名)");
------------------------------------------------------------------------------------------------------
PHP基本语法概述
1、php可以和html混编
    例如:<?php echo "<font color="red" size="7">Hello php</font>"; ?>
2、每个语句要以分号(;)    结束
3、变量的数据类型不是固定不变的
    $a = 90;  $a是整数
     $a = "abc"; $a是字符串
4、php是弱数据类型编程语言,其数据类型是由php的上下文决定(php引擎,即可理解为给它什么值,就是什么类型)
    变量的类型可以随时变化的
5、php语句要放在<?php    ?>
6、解决PHP的乱码:在<?php ?>标签名加入<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Php变量----为什么需要
1、一个程序就是一个世界,变量都是其程序的基本组成单位;
    在java中比变量高的是语句,
    比语句高的是函数(方法)
    比函数高的是类
    比类高的是模块
    比模块高的是项目
php基本数据类型分类
1、基本数据类型(标量类型)
    1.1、整形(Ingerger)
    1.2、小数(单精度 float,双精度 double)
    1.3、字符串类型(string)
    1.4、布尔型(boolean)
2、复合数据类型
    2.1、数组 array
    2.2、对象 object
3、特殊数据类型
    3.1、空值 null
    3.2、资源 resource(声音,图片等)
php中Integer的值是用常量:.PHP_INT_SIZE;
php最大值用常量:.PHP_INT_MAX;
------------------------------------------------------------------------------------------------------
浮点数的细节讨论
1、叫法(浮点数、单精度、双精度、实数)
2、浮点数的字长和平台相关,尽管通常最大值是 1.8e308 并具有 14 位十进制数字的精度(这个限制很重要)。
小数的精度如何起算:从左边开始第一个非0的数开始计算
案例说明:
$a=0.23456789022222988;// 0.234567890222223
$a=0.0023456789022222488;//0.0023456789022222
$a=0.0000000008907777777;//0.000000000890777777

字符串的细节讨论
1、定义一个字符串有两种方式
    $a = "adc";  //双引号
    $a = 'abc';  //单引号
区别:
    " "号的字符串,在输出的时候,会把$xx当做一个变量对待,而' '号的字符串,会当做普通的字符输出如下
    $c =56
      $a = "abc$c"
    $b = 'ab$c'
    
    echo $a."<br/>"
    echo $b;
数据类型的自动转换

$var1 = 90;
echo '$var1 类型是'.var_dump();
$var1 = 8.9
echo '$var1类型是'.var_dump();

表达式如下
$a =67;
$a = 56 + 90;
$a =调用有返回值的函数
-------------------------------------------------------------------------------------------------------
PHP三大流程控件
1、顺序控件
    程序默认执行的流程
2、分支控件
    1、单分支
        基本语法是
        if(表达式){语句;语句;}
    2、双分支
         基本语法是
        if(表达式){语句;语句;}else{语句;}
    3、多分支
        基本语法是
        if(表达式){语句;语句;}else if{语句;}else{语句;}
    4、多分支-switch
        switch(表达式){case 常量1:语句1;break;case 常量2:语句2;break;default:语句;break;}
        1\在switch仍然遵循非0为true的规则
        2\给一个数字字串,在匹配时,会自动转换后再去匹配
        3\switch支持小数、字串、boolean、整型、null
        4\switch的break语句,表示跳出整个switch语句块
        5\default在switch语句中的位置、可以随意、而不会影响到执行的结果
3、循环控件:循环的执行某一段代码
    1、for(初始值;条件判断;步长){语句块;}
    2、while(循环条件表达式){语句;//循环体} //while循环是先判断在执行语句
    3、do{语句;//循环体}while(循环条件表达式) //do while循环是先执行,再判断
---------
    A、break语句:用于跳出当前的循环控件语句(while,do....while,for,switch),特别说明,break语句后可以带一个数字,表示跳出第几层控制语句,默认为1
        break 1;表示跳出第一层循环
        break 2;表示跳出第二层循环
    B、continue语句:用于停止执行循环控制语句后的代码,而进行下一次的循环语句,continue语句后可以带数字,表示执行第几层的循环控件语句,默认为1
    C、goto语句:仅支持5.3及以上版本,跳转到指定的标签中,常见的用法是用来了跳出循环或者switch,可以代替多层的break;goto语句不能跨函数
        goto a;//a表示一个lable(标签)        
        a:
         echo "aa";
------------------------------------------------------------------------------------------------------
PHP的常量
常量使用define定义,也可使用const(仅支持5.3及以上版本)定义
定义:是一种特殊的变量,一旦被定义,就不能改变其值
<?php
    define("TAX_RATE","123");
    echo TAX_RATE;
    //仅支持5.3及以上版本
    const RATE = 23;
    echo RATE;

?>
常量和变更的区别
1、常量前面没有美元符号($)
2、常量用define()函数定义,而不能通过赋值语句;
3、常量可以不用理会变量的作用域,而在任何地方定义和访问
4、常量一旦被定义,就不能改变其值
5、常量的值是标量(string,integer,float,boolean)
-------------------------------------------------------------------------------------------------------
PHP的函数(方法)
函数:为完成某一功能的程序指令(语句)的集合,称为函数,使用函数可提高程序的复用性和可维护性。
1、自定义函数
    function 函数名(参数列表){//语句集合(目的是为了完成某项功能); return 返回值;//返回值可以没有(根据情况而定)}
    如果在其它页面使用函数,请参照PHP里的页面相互调用
    函数调用
        echo 函数名(参数列表)
    使用函数
    1、函数的参数列表可以是多个
    2、参数列表可以是多个,并且数据类型可以是任意的类型(array,integer,float,boolean,string,object)
    3、函数的命名和自定义变量一样,首字母只能使用,案例_,A-Z,a-z
    4、一个自定义函数中的变量是局部的,函数外不生效
    5、使用global全局变量的时候,可以使用在函数外的变量<?php $a= 10 function abc(){global $a; $a +=10;} echo abc() ?>;
    6、为了防止全局变量的混乱可以使用unset($var)删除一个变量<?php $a= 10 function abc($a){ unset($a); $a =30;} echo abc($a) ?>
    7、php的标量默认是传值而不是传地址,如果你希望传入的是地址,可以这样做:函数(&$b)
    $a = 10
    function abc (&$b)
    {
        $b = $b +100;
    }
    abc($a);echo $a;
2、系统函数
    查看帮助文档

 1、str_replace替换函数
  例:str_replace(被替换的值,替换的值,被替换的内容);
   /**
      * 将空格,回车、转义、替换
      */
   function htmltocode($content){
    $content = str_replace("\n","<br>",str_replace("","&nbsp",$content));
     return $content;
   }
 2、htmlspecialchars格式化html:主要功能是将HTML格式化,防止在输出html时被浏览器执行
  htmlspecialchars(所要格式化对象,定义单双引号,编码)
 3、md5加密函数
  md5(加密对象);
 4、cookie的使用和登陆
  setcookie("TEST","value",3600,"/dir",".domains.com",true);
  TEST:cookie名--value:cookie值---3600:保存时间----/dir:cookie保存路径----.domains.com:

起效域名----true:http发送
  注意:
   使用PHP cookie当场不能生效,需要刷新一次
 5、parse_url():解析URL函数,是将URL解析成有固定键值名称的数组的函数
  $ua = parase_url("http://username:password@php.com/path?arg=value#ahchor");
  结果
  Array
  (
   [scheme] => http
   [host] => php.com
   [user] => username
   [pass] => password
   [path] => /path
   [query] => arg =>value
   [fragment] => anchor
  )

--------------------------------------------------------------------------------------------------------------------------------

PHP数组的创建修改和使用
1、创建和修改数组/多维数组
 array(key=>value,key=>value,....)
 例:$arr1 = array(2,3,4); $arr2=array("id"=>2,"title"=>3);

 print_r($arr1):显示数组的详情
 $arr2[title]:通过Key获取数组的值
 
 多维数组
 $arr = array(array(3,6),array(2,4));
 echo $arr[0][1] //结果为6
 
 修改数组
 $arr[0][1]= 10;//更改值

2、数组与数组的函数
 统计数组条数函数:echo count($arr);
 判断数组函数:    is_array($arr); //if(is_array($arr)){echo "是数组"}
 另一种创建数组的函数:explode("key",value);//$a = "123-345-456";$arr = explode("-",$a);print_r

($arr);
 explode相当于拆分之后,得到的数组

3、使用foreach遍历数组
 遍历数组有很多种方法,可以使用for,while,foreach
 foreach($arr as $key => $value){}
 
 例: ($key,$value)php关键字
 $arr = array(21,3,34,5);
 foreach($arr as $key=> $value)
 {
  echo $value;
 }

------------------------------------------------------------------------------------------------------
mySql在PHP5中的应用
1、PHP与mysql建立连接
 php.ini加载mysql组件
  extension = php_mysql.dll
  extension_dir = ""
 php连接mysql函数
  mysql_connect(): //开启mysql连接
  mysql_select_db(): //打开一个数据库
  @ 和 or die :隐藏错误 和 条件显示
  例:
   $conn = @mysql_connect("主机","用户名","密码") or die ("连接错误");
   mysql_select_db("打开数据库",$conn);
2、如何去执行一个SQL语句
 @mysql_query(sql语句,连接标识符);
  例:
   $sql = "select *from test";
   $resutl = @mysql_query($sql,$conn) or die(mysql_error());
3、两种查询函数array/row区别
 mysql_fetch_row(result):用来查询结果的一行保存至数组,该数组下标从0开始,每一个数组元素对应一

个域,通过循环可以将查询结果全部获取。
 mysql_fetch_array(result):和mysql_fetch_row功能基本相同,只不过它除了可以用从0开始的偏移量索引

,还可以用域名(字段名)作索引。

 mysql_query("set names 'GBK'");解决中文乱码

 例:
  $sql = "select *from test";
  mysql_query("set names 'utf-8'");  //使用utf-8中文编码
  $resutl = @mysql_query($sql,$conn) or die(mysql_error());

  $row = mysql_fetch_row($result);
  print_r $row; 
  while($row){echo $row[name];}; 
 
4、其它常用Mysql函数介绍
 mysql_num_rows:用于计算查询结果中所得行的数目
  例:echo mysql_num_rows($sql);
 mysql_insert_id:传回最后一次使用insert指令的ID
 mysql_tablename:取得数据库名称
 mysql_error: 返回错误信息
 mysql_close: 关闭Mysql连接
-----------------------------------------------------------------------------------------------------

1
1
分享到:
评论

相关推荐

    初学PHP的基本脉络

    ### 初学PHP的基本脉络 对于初学者来说,学习PHP的过程中可能会遇到各种各样的问题,比如不知道如何开始、如何规划学习路径等。本篇文章旨在为初学者提供一个清晰的学习框架,帮助大家更好地掌握PHP这门语言。 ###...

    初学PHP--十天学会PHP

    总结,"初学PHP--十天学会PHP"这个教程涵盖了从环境搭建到实际应用的全过程,适合零基础的初学者逐步深入,通过实践来掌握PHP开发技能。在学习过程中,不断练习和实践是提升的关键,同时,也要关注PHP的新特性和...

    初学php的一个小项目

    在初学PHP时,理解和掌握PHP函数的应用是至关重要的一步。函数是可重用的代码块,能提高编程效率,减少重复工作。在“初学PHP的一个小项目”中,我们可以假设这个项目旨在通过实践来学习和应用PHP函数。 1. **基本...

    初学php聊天室小项目

    总的来说,这个"初学PHP聊天室小项目"是一个全面了解Web开发流程的好起点。通过实践,初学者不仅可以掌握PHP基础,还能了解MVC架构、数据库操作、前端技术以及安全性等关键知识点,为今后更复杂的项目打下坚实基础。...

    非常有用php学习资料适合去初学php的软件爱好者

    这份压缩包文件,名为“非常有用php学习资料适合去初学php的软件爱好者”,显然是为那些对PHP编程感兴趣的新手准备的一份宝贵资源。在深入探讨这份资料之前,我们先来了解一下PHP的基础知识。 PHP是一种服务器端...

    初学PHP的验证码全部代码

    这个“初学PHP的验证码全部代码”项目,显然为初学者提供了一个简易实现验证码的实例,帮助他们理解和应用PHP的基本功能。 验证码的主要目标是区分人和机器,通常表现为一串随机字符或数字,用户需要正确输入才能...

    初学PHP的爱好者更适用

    初学PHP的爱好者们,你们好!这个资源包将为你们提供一个良好的学习起点,帮助你们快速掌握PHP的基础知识和实际应用技巧。 首先,让我们了解一下PHP的基本概念。PHP是一种服务器端脚本语言,它允许开发者创建动态...

    初学PHP的18个基础例程

    根据提供的标题、描述以及部分代码内容,我们可以总结出18个初学PHP的基础知识点,这些知识点将帮助初学者建立一个坚实的编程基础。 ### 1. 基本语法与结构 - **PHP标签**: PHP代码通常包裹在`&lt;?php ... ?&gt;`标签中...

    初学PHP制作的一个网站,包含源代码和mysql文件

    自己初学PHP编程几个月来一直不断改进的一个网站 包含源代码和mysql文件 自己一个字一个字敲的,网站的基本功能都实现了,带我的那个老师说可以拿去卖钱了~呵呵 内容为广汽本田的一个模仿网站 包含以下技术: 1_网站...

    初学Php必备(Wamp---集成MySql,Apache,Phpmyadmin)

    初学Php必备(Wamp---集成MySql,Apache,Phpmyadmin)

    初学php请下载-tutorial

    针对初学php的人有很大的帮助,这主要是对php的介绍,以及与其他语言的比较,再者是对其从简单的讲起,让你能很快入门。

    初学php必看资料

    对于初学者来说,掌握PHP的基础知识是至关重要的。本文将根据提供的标题、描述和标签,详细阐述PHP学习的一些核心概念和重要知识点。 首先,我们要明白PHP的全称是Hypertext Preprocessor,即超文本预处理器。它是...

    关于初学PHP时的知识积累总结

    初学者在学习PHP的过程中会涉及到很多基础知识点,如语法结构、数据类型、变量操作、常量定义、流程控制以及数组操作等。 一、初识PHP PHP全称为Hypertext Preprocessor,最初称为Personal Home Page。它是一种嵌入...

    初学php应先知道的10项php技能

    对于刚踏入php领域的初学者,先了解该学什么有个大致了解,这样就能指导后面的学习

    简单的新闻用户的网站满足初学PHP语言的需求

    对于初学者来说,PHP提供了很好的入门平台,能够快速上手创建动态网页。 【PHP与HTML的结合】 在构建新闻网站时,PHP可以嵌入到HTML代码中,通过PHP脚本处理动态内容,如用户登录、新闻发布、评论系统等。例如,你...

    初学 PHP 时,基于 MVC 的一个 课程管理系统 练习项目。.zip

    在初学者的编程旅程中,PHP 是一种广泛使用的服务器端脚本语言,尤其在构建Web应用程序方面具有显著地位。这个“基于MVC的课程管理系统”练习项目,是为那些正在学习PHP并希望深入理解Web开发架构模式的人设计的。...

    php 连接mssql数据库 初学php笔记

    标题中的"php 连接mssql数据库 初学php笔记"指的是使用PHP语言与Microsoft SQL Server(MSSQL)数据库进行交互的一种实践记录。描述中给出了一段PHP代码示例,用于建立数据库连接、选择数据库、执行插入操作并检查...

Global site tag (gtag.js) - Google Analytics