1、详解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
2、中设置short _open_tag=on,默认是on asp tags: <% %>需要在php.ini中设置asp_tags=on,默认是off script tags: 5) 特殊数据类型:Resourse(对第三方资源(如数据库)的引用),Null(空,未初始化的变量) 3、 操作符 1) 赋值操作符:= 2) 算术操作符:+,-,*,/,%(取模) 3) 连接操作符:. ,无论操作数是什么,都当成String,结果返回St
3、ring 4) Combined Assignment Operators合计赋值操作符:+=,*=,/=,-=,%=,.= 5) Automatically Incrementing and Decrementing自动增减操作符: (1)++$variable,-$variable,先++或-,再做其他操作 (2)$variable+=1 <=>$variable++;$variable-=1 <=>$variable-,跟c语言一样,先做其他操作,后++或- 6) 比较操作符:= =(左边等于右边),!=(左边不等于右边),= =
4、左边等于右边,且数据类型相同),>=,>,<,<= 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 evalua
5、tes 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 bre
6、ak; 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 exec
7、uted } 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)
8、 函数调用 function_name($argument1,$argument2,……); //形参 3) 动态函数调用(Dynamic Function Calls):
9、holder(); //变量$function_holder成为函数sayHello的引用,调用$function_holder()相当于调用sayHello ?> 4) 变量作用域: 全局变量:
10、将在所有代码片段改变*/
print "The meaning of life is $life
";
}
meaningOfLife();
?>
5) 使用static
11、t"; } numberedHeading("Widgets"); //第一次调用时,打印$num_of_calls值为1 print("We build a fine range of widgets
"); numberedHeading("Doodads"); /*第一次调用时,打印$num_of_calls值为2,因为变量是static型的,static型是常驻内存的*/ print("Finest in the world
"); ?> 6) 传值(value)和传址(reference): 传值
12、function function_name($argument)
13、sting 6.14
14、tion是PHP内建函数,专门用于创建匿名函数,接受两个string型参数,第一个是参数列表,第二个是函数的主体
15、数名 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_row
16、s = mysql_num_rows($result); 将记录放入数组:$newArray = mysql_fetch_array($result); 例子:
17、 $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
18、['id'];
$testField = $newArray['testField'];
//echo the results onscreen
echo "The ID is $id and the text is $testField
";
}
?>
11、 接受表单元素:$_POST[表单元素名],
如ó$_POST[user]
接受url中queryString中值(GET方式):$_GET[queryString]
12、转向其他页面
19、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[
20、session_variable_name]=$variable; 3)访问session:$variable =$_SESSION[session_variable_name]; 4)销毁session:session_destroy(); 15、显示分类的完整例子:
21、rror()); $display_block = "
Select a category to see its items.
"; //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_c22、ats_res) < 1) { //如果返回记录行数小于1,则说明没有分类 $display_block = "
Sorry, no categories to browse.
"; } 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[cat23、desc]); $display_block .= "
$cat_title//点击此url,刷新本页,第28行读取cat_id,显示相应分类的条目
$cat_desc
24、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 = "
Sorry, no items in this category.
"; } else { $display_block .= "25、et_items_res)) { $item_id = $items[id]; $item_title = stripslashes($items[item_title]); $item_price = $items[item_price]; $display_block .= "
26、 ?>
27、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 .在htd
28、ocs目录下创建一个目录叫ld1102.在该目录下创建第一个php文件文件名叫:test.php 3.找到/opt目录 lammp htdocs htdocs目录为php文件存放的目录。即web应用软件的目录,当前浏览器输入localhost的时候,其实找到的就是hidocs,只是在执行的时候,将该文件通过apache软件进行里部署和运行 提醒:以后所有的测试,都是在浏览器键入localhost然后加上文件夹的名字或者文件的名字 举例: 比如在htdocs目录下有个已经生成好的应用包叫test,该文件夹下有个文件叫test.php 那么在运行test.php文
29、件的时候的浏览器地址为localhost/test/test.php4.修改htdocs目录的权限 su chomd 777 htdocs 3.php文件的创建 1>文件的后缀名以.php结束 2>php代码必须写在php的标记中 php的标记有四种风格: 常用:开始: 其他: <? ?> <% %> <% %> 3>php文件的组成内容 1》可以直接写成html代码
30、 2》php标记 3》php语句 4》空格 5》注释:所谓注释就是给代码进行说明文字,本身在代码执行的时候没有任何意义,仅仅作为代码阅读的诠释者。 php中的注释有三种: 单行注释有两种 6 //:表示出现在该符号后面的张行内容为注释内容 #:c语言的单行注释风格,意义跟//一样 多行注释一种 /* 注释内容 注释内容 */ 表示出现在该符号中间的多行内容为注释内容 7.echo 语法:echo “内容”;或者echo ‘内容’ 内容:可以
31、直接写html语言 意义:将该内容使出到浏览器进行显示 8.每行代码完成以“;”结束 9.变量: 所谓变量,就是存放数据的容器,该容器里面的数据可以变化。 变量的申明语法: $变量名 变量名又称一种标识符,标识符在定义的时候有三个要求: 1》必须为字母、数字或者下划线组成 2》不能以数字开始 3》大小写敏感(区分大小写) 变量的赋值语(变量初始化)法: $变量名=变量值 =为赋值符号。该语法表示。将=后面的值存放到=前面的变量中 变量调用语法: $变量名 练习:
32、 echo "欢迎来到$a,谢谢
";
echo '欢迎来到$a,谢谢
';
echo "欢迎来到$a学习
";
echo "欢迎来到{$a}学习
";
echo "欢迎来到${a}学习
";
?>
注意:
1》双引号里面出现的变量,使用的是变量的值,但是变量名后面不能直接跟上标识符命名的字符
2》单引号里面出现的变量,不能当作变量使用,只当作普通的字符串使用
3》$a学习其实该变量的名字为a学习,该变量没有存放任何值。随意显示为空
4》
33、变量在""中使用的完整语法是{$变量名}或者${变量名} 10.php代码所从上至下一行一行代码执行的 11.php数据类型 (1)基本数据类型 整形(Integer)类似与0 1 2 -1 -2,也就是数学中所说的整型那个数据(简写int) 浮点型(Float)就是数学中所说的小数类型 字符型(String)字符串,在使用字符类型数据源的时候和,必须放到单引号或者双引号当中,或者定界符中 定界符:php对于字符型数据的规范符号,表示放到该符号中的数据为字符类型数据 定界符的语法: <<<定界名 字符串 (顶行)
34、定界名; 通常定界符用于字符串相对校对的数据,如书籍的序 注意:出现在单引号或者双引号中的数据通常都是字符串类型。 如 1 表示整型而“1”表示字符类型 true表示布尔型,‘true’则表示四个字符的字符类型 布尔型(Boolean)又称真假类型,该类型只有两个取值,一个是ture,一个是false。不区分大小写。 (2)复合数据类型 数组型 对象型 (3)特殊数据类型 null类型 资源类型 12.类型强度: php的弱数据类型,根据值类确定数据类型。不需要再申明变量的时候给变量定义一个数据类型 13.数
35、据转换 在实际的应用中,有时候要将一个数据类型变成另外的数据类型,从而操作该数据类型所特有的一些操作。 语法: (强转类型关键词)原数据类型变量或者值 例如: $a ="1.1"; $a =(int)$a; echo$a; 注意:浮点型或者字符串的小数在转换成整型的时候,直接省去小数点后面的数字。 14.可变变量:变量的名字不确定,需要根据另外一个变量的值确定而确定 语法: $变量名 =“可变变量的名字”; $$a =“变量值” 例如:$a ="name"; $$a ="value";
36、 等价: $a =“value”; 15.常量:只能当且仅当保存一次数据,只能保存基本数据类型的值 语法:define(can1,can2); can1:常量的名字 字符型 can2:常量的名字 基本数据类型 如: define("A",100); 表示定义了一个常量叫A,该常量保存了一个值,为整型的100 使用语法:直接使用常量的名字即可 如 echo A; (常用名通常大写) 16.操作符: 1>算数操作符 + - * / %:分别为加减乘除余 如果需要将除法运算的两部分的值
37、精确度的取得。 商取得的语法: $a = (int)数字/数字 余数取得的语法: $b = 数字%数字 2》字符串操作符 . 将符号前后的两个字符串连接起来。如果,前后的数据不是字符类型,php将进行自动的数据类型转换,转换成字符类型,然后进行连接操作 $a = “abcd“; $b = "efgh"; $c = $a.$b; echo $c; 3》赋值操作符和复合赋值操作符=:赋值操作符 += -= *= /= %= .=:都值复合赋值操作符号,表示的意义如下例: $a = 100; $a += 100; 等价: $a =
38、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;
39、 echo $b; 注意:++ --放到变量后面,表示先进行该语句当中的其他运算(如赋值运算),在进行变量的 5.引用操作符 变量引用:表示一个变量的产生所另外一个变量的引用 语法: $a = &$b; 意义:两个变量通知指向一个内存块。达到同步的效果。 例如: $a = 100; $b = &$a; $a++; echo $b; $b++; echo $a; 练习: $a = 100; $b = &$a; $b++; $c = &$b; $c++;
40、 echo $a."
";
echo $b."
";
echo $c."
";
6》表操作符
意义:运用比较操作符号,比较前后两个值,是否符合操作符的含义,满足返回true,不满足返回false(布尔类型的值)。
==:比较两个值是否相等
===:比较两个值是否恒等,值相等且数据类型相等
例如:
1==“1”返回true
1===“1”返回false
!=:不
41、相等 !==:不恒等 <:小于 >:大于 <=:小于等于 >=:大于等于 <>:不相等 7》逻辑操作符 !:非逻辑 && and:且逻辑 || or:或逻辑 注意:&& || 的优先级高于 and or 8》位操作符 所谓位操作就是将操作的数值转换成2进制的实质进行操作 &:按位与运算,表示将符号前后的两个值转换成2进制,按位与,当且仅当相同位都
42、为1的时候返回1,反之则返回0 如:12&7 运算如图:12:00001100 & 7:00000111 ---------------- :00000100 即结果为:4 |:按位或操作,将操作符前后的两个值转换成二进制进行按位或操作,当且仅当相同位都为0时返回为0,反之则返回1 如:12|7 运算如图:12:00001100
43、 | 7:00000111 ---------------- :00001111 即结果为:15 ~:按位非,表示将值取相反数减一。 如:~12 运算如下:-12-1 所以结果为:-13 ^:按位异或,表示将符号前面的两个值转换成二进制进行按位异或操作,当且仅当相同位有1,但不全为1的时候返回1,反之则返回0. 如:12^7 运算如图:12:
44、00001100 ^ 7:00000111 ---------------- :00001011 即结果为:11 <<:位左移。将<<前面值转换成2进制向左移动<<后面的位数 如:12<<3 运算如下:12:00001100 <<3 结果:01100000 即结果为:96 运算总计
45、数值*2的移动位数次方 12*2的三次方 >>:位右移运算,将>>前面自己转换成二进制向右移动>>后面的位数 如:12>>1 运算如下:12:00001100 >>1 结果:00000110 即结果为:6 运算总计:数值/2的移动位数次方 12/2的1次方 9》其他操作符 ?:三项式操作符 语法:表达式1?表达式2?表达式3? 意义:判断表达式1是否为真,如果为真,执行表达式2
46、如果为假,执行表达式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(
47、表达式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控制
48、结束。以此类推,else子句执行的前提是前面if子句和所有的else if子句的表达式都不满足执行else子句的代码块。 19.代码块中的代码只有一行代码的时候,{}可以省略。将自动被上个控制语句控制 20.switch分支结构条件控制语句 语法: switch(表达式){ case value1: 代码块1 break; case value2: 代码块2 break; ..... default: 代码块 } 执行逻辑:判
49、断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
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4009-655-100 投诉/维权电话:18658249818