收藏 分销(赏)

详解php运行环境配置phpini配置及php基础教程.docx

上传人:xrp****65 文档编号:8673127 上传时间:2025-02-25 格式:DOCX 页数:46 大小:44.81KB
下载 相关 举报
详解php运行环境配置phpini配置及php基础教程.docx_第1页
第1页 / 共46页
详解php运行环境配置phpini配置及php基础教程.docx_第2页
第2页 / 共46页
点击查看更多>>
资源描述
详解php运行环境配置 php.ini配置及php基础讲解 1、 PHP变量及数据类型 1) $variable ,变量以字母、_开始,不能有空格 2) 赋值$variable=value; 3) 弱类型,直接赋值,不需要显示声明数据类型 4) 基本数据类型:Integer,Double,String,Boolean,Object(对象或类),Array(数组) PHP片段四种表示形式。 标准tags:<?php ?> short tags:<? ?> 需要在php.ini中设置short _open_tag=on,默认是on asp tags: <% %>需要在php.ini中设置asp_tags=on,默认是off script tags:<script language=”php”></script> 5) 特殊数据类型:Resourse(对第三方资源(如数据库)的引用),Null(空,未初始化的变量) 3、 操作符 1) 赋值操作符:= 2) 算术操作符:+,-,*,/,%(取模) 3) 连接操作符:. ,无论操作数是什么,都当成String,结果返回String 4) Combined Assignment Operators合计赋值操作符:+=,*=,/=,-=,%=,.= 5) Automatically Incrementing and Decrementing自动增减操作符: (1)++$variable,-$variable,先++或-,再做其他操作 (2)$variable+=1 <=>$variable++;$variable-=1 <=>$variable-,跟c语言一样,先做其他操作,后++或- 6) 比较操作符:= =(左边等于右边),!=(左边不等于右边),= = =(左边等于右边,且数据类型相同),>=,>,<,<= 7) 逻辑操作符:|| ó or,&&óand,xor(当左右两边有且只有一个是true,返回true),! 4、 注释: 单行注释:// ,# 多行注释:/* */ 5、 每个语句以;号结尾,与java相同 6、 定义常量:define(“CONSTANS_NAME”,value) 7、 打印语句:print,与c语言相同 8、 流程控制语句 1) if语句: (1)if(expression) { //code to excute if expression evaluates to true } (2)if(expression) { } else { } (3)if(expression1) { } elseif(expression2) { } else { } 2) swich语句 switch ( expression ) { case result // execute this if expression results in result1 break; case result // execute this if expression results in result2 break; default: // execute this if no break statement // has been encountered hitherto } 3) ?操作符: ( expression )?returned_if_expression_is_true:returned_if_expression_is_false; 4) while语句: (1) while ( expression ) { // do something } (2)do { // code to be executed } while ( expression ); 5) for语句: for ( initialization expression; test expression; modification expression ) { // code to be executed } 6) break;continue 9、 编写函数 1) 定义函数: function function_name($argument1,$argument2,……) //形参 { //function code here; } 2) 函数调用 function_name($argument1,$argument2,……); //形参 3) 动态函数调用(Dynamic Function Calls): <html> <head> <title>Listing 6.5</title> </head> <body> <?php function sayHello() { //定义函数sayHello print "hello<br>"; } $function_holder = "sayHello"; //将函数名赋值给变量$function_holder $function_holder(); //变量$function_holder成为函数sayHello的引用,调用$function_holder()相当于调用sayHello ?> </body> </html> 4) 变量作用域: 全局变量: <html> <head> <title>Listing 6.8</title> </head> <body> <?php $life=42; function meaningOfLife() { global $life; /*在此处重新声明$life为全局变量,在函数内部访问全局变量必须这样,如果在函数内改变变量的值,将在所有代码片段改变*/ print "The meaning of life is $life<br>"; } meaningOfLife(); ?> </body> </html> 5) 使用static <html> <head> <title>Listing 6.10</title> </head> <body> <?php function numberedHeading( $txt ) { static $num_of_calls = 0; $num_of_calls++; print "<h1>$num_of_calls. $txt</h1>"; } numberedHeading("Widgets"); //第一次调用时,打印$num_of_calls值为1 print("We build a fine range of widgets<p>"); numberedHeading("Doodads"); /*第一次调用时,打印$num_of_calls值为2,因为变量是static型的,static型是常驻内存的*/ print("Finest in the world<p>"); ?> </body> </html> 6) 传值(value)和传址(reference): 传值:function function_name($argument) <html> <head> <title>Listing 6.13</title> </head> <body> <?php function addFive( $num ) { $num += 5; } $orignum = 10; addFive( &$orignum ); print( $orignum ); ?> </body> </html> 结果:10 传址:funciton function_name(&$argument) <html> <head> <title>Listing 6.14</title> </head> <body> <?php function addFive( &$num ) { $num += 5; /*传递过来的是变量$num的引用,因此改变形参$num的值就是真正改变变量$orignum物理内存中保存的值*/ } $orignum = 10; addFive( $orignum ); print( $orignum ); ?> </body> </html> 结果:15 7) 创建匿名函数:create_function(‘string1’,’string2’); create_function是PHP内建函数,专门用于创建匿名函数,接受两个string型参数,第一个是参数列表,第二个是函数的主体 <html> <head> <title>Listing 6.15</title> </head> <body> <?php $my_anon = create_function( '$a, $b', 'return $a+$b;' ); print $my_anon( 3, 9 ); // prints 12 ?> </body> </html> 8) 判断函数是否存在:function_exists(function_name),参数为函数名 10、 用PHP连接MySQL 1) 连接:&conn=mysql_connect("localhost", "joeuser", "somepass"); 2) 关闭连接:mysql_close($conn); 3) 数据库与连接建立联系:mysql_select_db(database name, connection index); 4) 将SQL语句给MySQL执行:$result = mysql_query($sql, $conn); //增删改查都是这句 5) 检索数据:返回记录数:$number_of_rows = mysql_num_rows($result); 将记录放入数组:$newArray = mysql_fetch_array($result); 例子: <?php // open the connection $conn = mysql_connect("localhost", "joeuser", "somepass"); // pick the database to use mysql_select_db("testDB",$conn); // create the SQL statement $sql = "SELECT * FROM testTable"; // execute the SQL statement $result = mysql_query($sql, $conn) or die(mysql_error()); //go through each row in the result set and display data while ($newArray = mysql_fetch_array($result)) { // give a name to the fields $id = $newArray['id']; $testField = $newArray['testField']; //echo the results onscreen echo "The ID is $id and the text is $testField <br>"; } ?> 11、 接受表单元素:$_POST[表单元素名], 如<input type=text name=user>ó$_POST[user] 接受url中queryString中值(GET方式):$_GET[queryString] 12、转向其他页面:header("Location: "); 13、字符串操作: 1)explode(“-”,str)óJava中的splite 2)str_replace($str1,$str2,$str3) =>$str1要查找的字符串,$str2用来替换的字符串,$str3从这个字符串开始查找替换 3)substr_replace: 14、session: 1)打开session:session_start(); //也可以在php.ini设置session_auto_start=1,不必再每个script都写这句,但是默认为0,则必须要写。 2)给session赋值:$_SESSION[session_variable_name]=$variable; 3)访问session:$variable =$_SESSION[session_variable_name]; 4)销毁session:session_destroy(); 15、显示分类的完整例子: <?php //connect to database $conn = mysql_connect("localhost", "joeuser", "somepass") or die(mysql_error()); mysql_select_db("testDB",$conn) or die(mysql_error()); $display_block = "<h1>My Categories</h1> <P>Select a category to see its items.</p>"; //show categories first $get_cats = "select id, cat_title, cat_desc from store_categories order by cat_title"; $get_cats_res = mysql_query($get_cats) or die(mysql_error()); if (mysql_num_rows($get_cats_res) < 1) { //如果返回记录行数小于1,则说明没有分类 $display_block = "<P><em>Sorry, no categories to browse.</em></p>"; } else { while ($cats = mysql_fetch_array($get_cats_res)) { //将记录放入变量$cats中 $cat_id = $cats[id]; $cat_title = strtoupper(stripslashes($cats[cat_title])); $cat_desc = stripslashes($cats[cat_desc]); $display_block .= "<p><strong><a href="$_SERVER[PHP_SELF][U1] ?cat_id=$cat_id">$cat_title</a></strong>//点击此url,刷新本页,第28行读取cat_id,显示相应分类的条目 <br>$cat_desc</p>"; if ($_GET[cat_id] == $cat_id) { //选择一个分类,看下面的条目 //get items $get_items = "select id, item_title, item_price from store_items where cat_id = $cat_id order by item_title"; $get_items_res = mysql_query($get_items) or die(mysql_error()); if (mysql_num_rows($get_items_res) < 1) { $display_block = "<P><em>Sorry, no items in this category.</em></p>"; } else { $display_block .= "<ul>"; while ($items = mysql_fetch_array($get_items_res)) { $item_id = $items[id]; $item_title = stripslashes($items[item_title]); $item_price = $items[item_price]; $display_block .= "<li><a href="showitem.php?item_id=$item_id">$item_title</a> </strong> ($$item_price)"; [U2] } $display_block .= "</ul>"; } } } } ?> <HTML> <HEAD> <TITLE>My Categories</TITLE> </HEAD> <BODY> <? print $display_block; ?> </BODY> </HTML> 16、PHP连接Access: <? $dbc=new com("adodb.connection"); $dbc->open("driver=microsoft access driver (*.mdb);dbq=c:member.mdb"); $rs=$dbc->execute("select * from tablename"); $i=0; while (!$rs->eof){ $i+=1 $fld0=$rs->fields["UserName"]; $fld0=$rs->fields["Password"]; .... echo "$fld0->value $fld1->value ...."; $rs->movenext(); } $rs->close(); ?> 1. 安装php运行环境  密码:$boss$或briup   超级用户下键入命令: 2.  /opt/lampp/lampp start   打开浏览器:输入localhost .在htdocs目录下创建一个目录叫ld1102.在该目录下创建第一个php文件文件名叫:test.php 3.找到/opt目录  lammp   htdocs  htdocs目录为php文件存放的目录。即web应用软件的目录,当前浏览器输入localhost的时候,其实找到的就是hidocs,只是在执行的时候,将该文件通过apache软件进行里部署和运行  提醒:以后所有的测试,都是在浏览器键入localhost然后加上文件夹的名字或者文件的名字  举例:   比如在htdocs目录下有个已经生成好的应用包叫test,该文件夹下有个文件叫test.php  那么在运行test.php文件的时候的浏览器地址为localhost/test/test.php4.修改htdocs目录的权限  su  chomd 777 htdocs 3.php文件的创建  1>文件的后缀名以.php结束  2>php代码必须写在php的标记中   php的标记有四种风格:   常用:开始:<?php        结束:?>   其他:       <? ?>       <%  %>       <script       language="PHP"></script>       <% %>   3>php文件的组成内容    1》可以直接写成html代码    2》php标记    3》php语句    4》空格    5》注释:所谓注释就是给代码进行说明文字,本身在代码执行的时候没有任何意义,仅仅作为代码阅读的诠释者。    php中的注释有三种:    单行注释有两种    6 //:表示出现在该符号后面的张行内容为注释内容     #:c语言的单行注释风格,意义跟//一样    多行注释一种     /*       注释内容       注释内容     */     表示出现在该符号中间的多行内容为注释内容  7.echo   语法:echo “内容”;或者echo ‘内容’      内容:可以直接写html语言   意义:将该内容使出到浏览器进行显示 8.每行代码完成以“;”结束 9.变量:  所谓变量,就是存放数据的容器,该容器里面的数据可以变化。  变量的申明语法:   $变量名  变量名又称一种标识符,标识符在定义的时候有三个要求:   1》必须为字母、数字或者下划线组成   2》不能以数字开始   3》大小写敏感(区分大小写)  变量的赋值语(变量初始化)法:   $变量名=变量值  =为赋值符号。该语法表示。将=后面的值存放到=前面的变量中  变量调用语法:   $变量名   练习:   <?php   $a ="briup";          echo "欢迎来到$a,谢谢<br>";          echo '欢迎来到$a,谢谢<br>';          echo "欢迎来到$a学习<br>";          echo "欢迎来到{$a}学习<br>";    echo "欢迎来到${a}学习<br>";   ?>   注意:    1》双引号里面出现的变量,使用的是变量的值,但是变量名后面不能直接跟上标识符命名的字符    2》单引号里面出现的变量,不能当作变量使用,只当作普通的字符串使用    3》$a学习其实该变量的名字为a学习,该变量没有存放任何值。随意显示为空    4》变量在""中使用的完整语法是{$变量名}或者${变量名} 10.php代码所从上至下一行一行代码执行的 11.php数据类型  (1)基本数据类型   整形(Integer)类似与0 1 2 -1 -2,也就是数学中所说的整型那个数据(简写int)   浮点型(Float)就是数学中所说的小数类型   字符型(String)字符串,在使用字符类型数据源的时候和,必须放到单引号或者双引号当中,或者定界符中    定界符:php对于字符型数据的规范符号,表示放到该符号中的数据为字符类型数据     定界符的语法:      <<<定界名       字符串      (顶行)定界名;    通常定界符用于字符串相对校对的数据,如书籍的序    注意:出现在单引号或者双引号中的数据通常都是字符串类型。      如 1 表示整型而“1”表示字符类型      true表示布尔型,‘true’则表示四个字符的字符类型   布尔型(Boolean)又称真假类型,该类型只有两个取值,一个是ture,一个是false。不区分大小写。  (2)复合数据类型   数组型   对象型  (3)特殊数据类型   null类型   资源类型 12.类型强度:  php的弱数据类型,根据值类确定数据类型。不需要再申明变量的时候给变量定义一个数据类型 13.数据转换  在实际的应用中,有时候要将一个数据类型变成另外的数据类型,从而操作该数据类型所特有的一些操作。   语法:   (强转类型关键词)原数据类型变量或者值   例如:    $a ="1.1";    $a =(int)$a;    echo$a;   注意:浮点型或者字符串的小数在转换成整型的时候,直接省去小数点后面的数字。 14.可变变量:变量的名字不确定,需要根据另外一个变量的值确定而确定   语法:    $变量名 =“可变变量的名字”;    $$a =“变量值”   例如:$a ="name";        $$a ="value";        等价:        $a =“value”; 15.常量:只能当且仅当保存一次数据,只能保存基本数据类型的值   语法:define(can1,can2);        can1:常量的名字 字符型        can2:常量的名字 基本数据类型   如:   define("A",100);   表示定义了一个常量叫A,该常量保存了一个值,为整型的100   使用语法:直接使用常量的名字即可   如   echo A;   (常用名通常大写) 16.操作符:  1>算数操作符  + - * / %:分别为加减乘除余  如果需要将除法运算的两部分的值精确度的取得。  商取得的语法:   $a = (int)数字/数字  余数取得的语法:   $b = 数字%数字  2》字符串操作符  . 将符号前后的两个字符串连接起来。如果,前后的数据不是字符类型,php将进行自动的数据类型转换,转换成字符类型,然后进行连接操作  $a = “abcd“;  $b = "efgh";  $c = $a.$b;  echo $c;  3》赋值操作符和复合赋值操作符=:赋值操作符  += -= *= /= %= .=:都值复合赋值操作符号,表示的意义如下例:  $a = 100;  $a += 100;  等价:  $a = 100;  $a = $a+100;  即将复合赋值操作符前面的变量进行+-*/.后面的值运算以后再赋还给该变量  4》递增或者递减  ++:表示递增,加1  --:表示递减,减一  例如:  $a = 100;  $a++;  echo $a;  ++和--符号可以出现在变量的前面也可以出现在变量的后面,两者都能进行递增或者递减操作。但是,当递增和递减跟其他运算综合应用的时候,有个执行顺序  例如:  $a = 100;  $b = $a++;  echo $a;  echo $b;    $a = 100;  $b = ++$a;  echo $a;  echo $b;  注意:++ --放到变量后面,表示先进行该语句当中的其他运算(如赋值运算),在进行变量的  5.引用操作符  变量引用:表示一个变量的产生所另外一个变量的引用  语法:  $a = &$b;  意义:两个变量通知指向一个内存块。达到同步的效果。  例如:  $a = 100;  $b = &$a;  $a++;  echo $b;  $b++;  echo $a;  练习:  $a = 100;         $b = &$a;         $b++;         $c = &$b;         $c++;         echo $a."<br>";         echo $b."<br>";         echo $c."<br>";         6》表操作符         意义:运用比较操作符号,比较前后两个值,是否符合操作符的含义,满足返回true,不满足返回false(布尔类型的值)。         ==:比较两个值是否相等         ===:比较两个值是否恒等,值相等且数据类型相等              例如:               1==“1”返回true               1===“1”返回false         !=:不相等         !==:不恒等         <:小于         >:大于         <=:小于等于         >=:大于等于         <>:不相等         7》逻辑操作符         !:非逻辑         && and:且逻辑         || or:或逻辑         注意:&& || 的优先级高于 and or         8》位操作符         所谓位操作就是将操作的数值转换成2进制的实质进行操作         &:按位与运算,表示将符号前后的两个值转换成2进制,按位与,当且仅当相同位都为1的时候返回1,反之则返回0         如:12&7         运算如图:12:00001100           &           7:00000111               ----------------                   :00000100                   即结果为:4            |:按位或操作,将操作符前后的两个值转换成二进制进行按位或操作,当且仅当相同位都为0时返回为0,反之则返回1           如:12|7         运算如图:12:00001100           |           7:00000111               ----------------                   :00001111                   即结果为:15         ~:按位非,表示将值取相反数减一。           如:~12               运算如下:-12-1               所以结果为:-13  ^:按位异或,表示将符号前面的两个值转换成二进制进行按位异或操作,当且仅当相同位有1,但不全为1的时候返回1,反之则返回0.  如:12^7         运算如图:12:00001100           ^           7:00000111               ----------------                   :00001011                   即结果为:11          <<:位左移。将<<前面值转换成2进制向左移动<<后面的位数           如:12<<3           运算如下:12:00001100              <<3              结果:01100000              即结果为:96          运算总计:数值*2的移动位数次方           12*2的三次方         >>:位右移运算,将>>前面自己转换成二进制向右移动>>后面的位数  如:12>>1           运算如下:12:00001100              >>1              结果:00000110              即结果为:6          运算总计:数值/2的移动位数次方           12/2的1次方  9》其他操作符   ?:三项式操作符    语法:表达式1?表达式2?表达式3?    意义:判断表达式1是否为真,如果为真,执行表达式2,如果为假,执行表达式3    如:1==1? $a="1等于1“:$a=“1不等于1“;    echo $a;   @:错误屏蔽操作符    将表达式的错误提示信息直接忽略,不显示到浏览器上    如:$a =1/0;    执行代码,将在页面出现一个警告提示信息    @$a=1/0;    执行代码,没有信息显示   ``:终端代码执行符号       逆引号里面的内容为终端执行的代码 17.代码块:  放在{}中的代码,我们称这样的结果为代码块 18.条件控制语句  if语句  语法:if(表达式1){    代码块1       }else if(表达式2){         代码块2       }else if(表达式3){         代码块3       }...       else{         else代码块       }  完整的if条件控制语句由三个部分组成,一个if子句,多个else if子句,一个else子句。  else if子句和else子句可以没有  执行逻辑:  首先判断if子句中的表达式是否为真,为真执行if子句的代码块,代码块执行结束,if控制结束,反之往下执行else if子句,如果else if子句中的表达式满足,则执行else if该子句的代码块,执行完毕,if控制结束。以此类推,else子句执行的前提是前面if子句和所有的else if子句的表达式都不满足执行else子句的代码块。 19.代码块中的代码只有一行代码的时候,{}可以省略。将自动被上个控制语句控制 20.switch分支结构条件控制语句   语法:    switch(表达式){          case value1:         代码块1         break;      case value2:         代码块2         break;    .....    default:     代码块        }  执行逻辑:判断switch子句中的表达式(通常为一个变量)的值,如果满足case后面的其中一个,当且仅当执行该case value:后面的代码块,直至遇到break结束switch语句,如果case后面的值都不满足,将执行default:后面的代码块直至结束switch语句,如果case后面的值都不满足,将执行default:后面的代码块直至结束switch语句 21.for循环操作  所 谓循环操作就是相同的代码块被多次执行  语法:  for(can1;can2;can3){    代码块  }  can1:循环参照变量初始化   for循环开始即被执行  can2:循环参照变量表达式   每次执行循环操作时都先判断该表达式的真假,为真才执行{}中的代码块。为假则结束for循环  can3:循环参照变量变化表达式   每执行一个代码块以后,将自动运行该表达式改变参照变量的值  执行逻辑:  首先初始化can1,然后第一次判断can2是否为真,为真执行第一次循环体(代码块)执行完成以后执行can3表达式,  再第二次判断can2是否为真,为真再次执行循环体(代码块),执行完成以后执行can3表达式,再判断can2是否为真,  周而复始,直至can2不满足的时候,for循环结束。 22.逻辑控制语句之间可以相互嵌套 2
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 应用文书 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服