




已阅读5页,还剩41页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
详解php运行环境配置 php.ini配置及php基础讲解1、 PHP变量及数据类型1) $variable ,变量以字母、_开始,不能有空格2) 赋值$variable=value;3) 弱类型,直接赋值,不需要显示声明数据类型4) 基本数据类型:Integer,Double,String,Boolean,Object(对象或类),Array(数组)PHP片段四种表示形式。标准tags:short tags: 需要在php.ini中设置short _open_tag=on,默认是onasp tags: 需要在php.ini中设置asp_tags=on,默认是offscript tags:5) 特殊数据类型:Resourse(对第三方资源(如数据库)的引用),Null(空,未初始化的变量)3、 操作符1) 赋值操作符:=2) 算术操作符:+,-,*,/,%(取模)3) 连接操作符:. ,无论操作数是什么,都当成String,结果返回String4) 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)else2) swich语句switch ( expression )case result/ execute this if expression results in result1break;case result/ execute this if expression results in result2break;default:/ execute this if no break statement/ has been encountered hitherto3) ?操作符:( 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 executed6) break;continue9、 编写函数1) 定义函数:function function_name($argument1,$argument2,) /形参/function code here;2) 函数调用function_name($argument1,$argument2,); /形参3) 动态函数调用(Dynamic Function Calls):Listing 6.5?phpfunction sayHello() /定义函数sayHelloprint hello;$function_holder = sayHello; /将函数名赋值给变量$function_holder$function_holder(); /变量$function_holder成为函数sayHello的引用,调用$function_holder()相当于调用sayHello?4) 变量作用域:全局变量:Listing 6.8?php$life=42;function meaningOfLife() global $life;/*在此处重新声明$life为全局变量,在函数内部访问全局变量必须这样,如果在函数内改变变量的值,将在所有代码片段改变*/print The meaning of life is $life; meaningOfLife();?5) 使用staticListing 6.10?phpfunction numberedHeading( $txt ) static $num_of_calls = 0;$num_of_calls+;print $num_of_calls. $txt;numberedHeading(Widgets); /第一次调用时,打印$num_of_calls值为1print(We build a fine range of widgets);numberedHeading(Doodads); /*第一次调用时,打印$num_of_calls值为2,因为变量是static型的,static型是常驻内存的*/print(Finest in the world);?6) 传值(value)和传址(reference):传值:function function_name($argument)Listing 6.13结果:10传址:funciton function_name(&$argument)Listing 6.14结果:157) 创建匿名函数:create_function(string1,string2); create_function是PHP内建函数,专门用于创建匿名函数,接受两个string型参数,第一个是参数列表,第二个是函数的主体Listing 6.158) 判断函数是否存在:function_exists(function_name),参数为函数名10、 用PHP连接MySQL1) 连接:&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 = $newArrayid; $testField = $newArraytestField; /echo the results onscreen echo The ID is $id and the text is $testField ; ?11、 接受表单元素:$_POST表单元素名,如$_POSTuser接受url中queryString中值(GET方式):$_GETqueryString12、转向其他页面:header(Location: );13、字符串操作:1)explode(“-”,str)Java中的splite2)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赋值:$_SESSIONsession_variable_name=$variable; 3)访问session:$variable =$_SESSIONsession_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 = My CategoriesSelect a category to see its items.;/show categories first$get_cats = select id, cat_title, cat_desc fromstore_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 = Sorry, no categories to browse.; else while ($cats = mysql_fetch_array($get_cats_res) /将记录放入变量$cats中$cat_id = $catsid;$cat_title = strtoupper(stripslashes($catscat_title);$cat_desc = stripslashes($catscat_desc);$display_block .= $cat_title/点击此url,刷新本页,第28行读取cat_id,显示相应分类的条目$cat_desc;if ($_GETcat_id = $cat_id) /选择一个分类,看下面的条目/get items$get_items = select id, item_title, item_pricefrom store_items where cat_id = $cat_idorder by item_title;$get_items_res = mysql_query($get_items) or die(mysql_error();if (mysql_num_rows($get_items_res) 1) $display_block = Sorry, no items inthis category.; else $display_block .= ;while ($items = mysql_fetch_array($get_items_res) $item_id = $itemsid;$item_title = stripslashes($itemsitem_title);$item_price = $itemsitem_price;$display_block .= $item_title ($item_price);U2 $display_block .= ;?My Categories16、PHP连接Access: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-fieldsUserName; $fld0=$rs-fieldsPassword; . echo $fld0-value $fld1-value .; $rs-movenext(); $rs-close(); ?1. 安装php运行环境密码:$boss$或briup超级用户下键入命令:2./opt/lampp/lampp start打开浏览器:输入localhost.在htdocs目录下创建一个目录叫ld1102.在该目录下创建第一个php文件文件名叫:test.php3.找到/opt目录lammphtdocshtdocs目录为php文件存放的目录。即web应用软件的目录,当前浏览器输入localhost的时候,其实找到的就是hidocs,只是在执行的时候,将该文件通过apache软件进行里部署和运行提醒:以后所有的测试,都是在浏览器键入localhost然后加上文件夹的名字或者文件的名字举例:比如在htdocs目录下有个已经生成好的应用包叫test,该文件夹下有个文件叫test.php那么在运行test.php文件的时候的浏览器地址为localhost/test/test.php4.修改htdocs目录的权限suchomd 777 htdocs3.php文件的创建1文件的后缀名以.php结束2php代码必须写在php的标记中php的标记有四种风格:常用:开始:其他: 3php文件的组成内容1可以直接写成html代码2php标记3php语句4空格5注释:所谓注释就是给代码进行说明文字,本身在代码执行的时候没有任何意义,仅仅作为代码阅读的诠释者。php中的注释有三种:单行注释有两种6/:表示出现在该符号后面的张行内容为注释内容#:c语言的单行注释风格,意义跟/一样多行注释一种/* 注释内容 注释内容*/表示出现在该符号中间的多行内容为注释内容7.echo语法:echo “内容”;或者echo 内容 内容:可以直接写html语言意义:将该内容使出到浏览器进行显示8.每行代码完成以“;”结束9.变量:所谓变量,就是存放数据的容器,该容器里面的数据可以变化。变量的申明语法:$变量名变量名又称一种标识符,标识符在定义的时候有三个要求:1必须为字母、数字或者下划线组成2不能以数字开始3大小写敏感(区分大小写)变量的赋值语(变量初始化)法:$变量名=变量值=为赋值符号。该语法表示。将=后面的值存放到=前面的变量中变量调用语法:$变量名练习:?php$a =briup; echo 欢迎来到$a,谢谢; echo 欢迎来到$a,谢谢; echo 欢迎来到$a学习; echo 欢迎来到$a学习;echo 欢迎来到$a学习;?注意:1双引号里面出现的变量,使用的是变量的值,但是变量名后面不能直接跟上标识符命名的字符2单引号里面出现的变量,不能当作变量使用,只当作普通的字符串使用3$a学习其实该变量的名字为a学习,该变量没有存放任何值。随意显示为空4变量在中使用的完整语法是$变量名或者$变量名10.php代码所从上至下一行一行代码执行的11.php数据类型(1)基本数据类型整形(Integer)类似与0 1 2 -1 -2,也就是数学中所说的整型那个数据(简写int)浮点型(Float)就是数学中所说的小数类型字符型(String)字符串,在使用字符类型数据源的时候和,必须放到单引号或者双引号当中,或者定界符中定界符:php对于字符型数据的规范符号,表示放到该符号中的数据为字符类型数据定界符的语法:算数操作符+ - * / %:分别为加减乘除余如果需要将除法运算的两部分的值精确度的取得。商取得的语法:$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.; echo $b.; echo $c.; 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.如:127 运算如图:12:00001100 7:00000111 - :00001011 即结果为:11 :位左移。将前面值转换成2进制向左移动后面的位数 如:123 运算如下:12:00001100 :位右移运算,将前面自己转换成二进制向右移动后面的位数如:121 运算如下: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.逻辑控制语句之间可以相互嵌套23.while循环语法:can1初始化while(can2) 代码块; can3;执行逻辑参照变量的初始化在while循环语句上面作为单独的一行代码执行,然后进入while循环语句的第一步,判断can2是否满足,如果满足,执行代码块,代码块中通常有can3(参照变量变化表达式)的执行,完成以后,又回到can2的判断,如果又满足,继续执行代码块,周而复始,直至can2表达式不满足,结束while循环。24.do while循环语法:can1初始化do代码块;can3;while(can2);执行逻辑:不管三七二十一,首先执行一次do后面的代码块。然后再去判断can2表达式是否满足,满足再一次执行do后面的代码块。周而复始,直至最后can2表达式不满足。25.for循环 while循环是先判断然后在执行。do while循环是先执行再判断,所有for循环 while循环最少执行0次。do while循环最少循环1次26.循环语句中有三个关键词break:遇到该语句,结束整个循环continue:遇到该语句,结束当前当次循环,继续下一次循环(如果有),即该语句下面的代码不会执行exit:遇到该语句,结束整个代码的运行练习:for($i=0;$i9;$i+)if($i%3!=0)$sum5 += $i;elsecontinue;$sum5_2 += $i;$j=0;while($j9)if($i%2!=0)break;else $sum7 += $j; $j+;$m=0;do$sum6 += $m;if($m=5)exit(程序终止);$m+;while($m值 这方式进行添加第二类:关联数组(字符串索引)第一种:$数组名元素的字符串索引值 = 元素的值第二种:$数组名 = array( key1 = value1, key2 = value2.)该方式是将值指定自定义的字符串索引,方式是将每个元素以 键(索引)=值 这方式进行添加注意:数组中的第一个元素的序列号为0.而不是13数组的单个取值语法:$数组名值对应的索引名(如果是字符串索引要加上);数组的遍历:所谓遍历就是将数组的每一个元素通通过一遍遍历连续数字索引的数组可以使用for循环加上一个数组函数count实现,语法如下:for($i=0;$icount($array_name);$i+)$array_name$i;/数组的值,每一个通过for循环都可以遍历到count函数语法:count($array name)该函数返回数组的元素个数,最大索引号为元素的个数减一,所以for循环第二个参数用而不是$value)$key;/元素的索引$value;/元素的值练习:$array_test1 =array(12,4,54,51,546);将该数组中的值按照升序输出到页面。$array_test1 = array(12,4,53,51,546);for($i=0;$icount($array_test1);$i+)for($j=$i+1;$j $array_test1$j)$temp = $array_test1$i;$array_test1$i = $array_test1$j;$array_test1$j = $temp;foreach($array_test1 as $key=$value)echo $value.;或者$a = array(12,4,53,51,546);for($i=0;$icount($a);$i+)for($j=$i+1;$j $a$j) $temp = $a$i; $a$i = $a$j; $a$j = $temp; for($i=0;$icount($a);$i+)echo $a$i.;使用print_r($array_name)可以见数组直接打印输出到页面数组操作符:+:数组追加,将符号前面的数组元素加上符号后面的数组元素,组合成一个新的数组,但是注意,索引相同的元素不会进行追加。=:元素(键值对)相同,顺序不限,返回true=:元素相同且顺序相同返回true。!= or 为 =的相反情况!= 为 =的相反情况多维数组:所谓多维数组就是数组的元素值不是单一的值,而是余个数组,即一个数组作为一个值保存在另外的一个数组中。多维数组中的二维数组介绍;例如:$array = array(1,2,3,4,5);$mul_array1 = array($array,6,7,8,9);此时$mul_array1就是一个二维数组。$mul_array2 = array(0 = array(0=1,1=2),1 = 3,2 = 4);$mul_array3 = array();$mul_array01 = 1;$mul_array02 = 2;$mul_array03 = 3;$mul_array1 = 4;$m
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 菌群移植生物标志物-第1篇-洞察及研究
- 油墨厂搅拌桨磨损细则
- 江苏省苏州市昆山市秀峰中学2025-2026学年上学期七年级9月月考数学卷(含答案)
- 2024-2025学年湖南省张家界市高二(下)期末物理试卷(含答案)
- 印刷厂油墨存储管理规定
- 手受伤后安全培训课件
- 社区结构预测-洞察及研究
- 手势小星星课件
- 中国银行新员工思想汇报模板图文
- 咨询工程师《项目决策分析与评价》考试题(附答案)
- ISO 22000-2018食品质量管理体系-食品链中各类组织的要求(2023-雷泽佳译)
- 卡巴斯基应急响应指南
- 理财规划大赛优秀作品范例(一)
- 2023年四川能投筠连电力招聘笔试参考题库附带答案详解
- 护理管理组织结构与设计
- 静配中心清洁消毒考核试题
- 一级烟草专卖管理师理论考试题库(含答案)
- 小学数学《分数除法》50道应用题包含答案
- 碳捕集、利用与封存技术课件
- 化工试生产总结报告
- 复句与单句的辨析课件
评论
0/150
提交评论