详解php运行环境配置phpini配置及php基础教程_第1页
详解php运行环境配置phpini配置及php基础教程_第2页
详解php运行环境配置phpini配置及php基础教程_第3页
详解php运行环境配置phpini配置及php基础教程_第4页
详解php运行环境配置phpini配置及php基础教程_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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中设置short _open_tag=on,默许是onasp tags: 需求在php.ini中设置asp_tags=on,默许是offscript tags:

2、5) 特殊数据类型:Resourse对第三方资源如数据库的援用,Null空,未初始化的变量3、 操作符1) 赋值操作符:=2) 算术操作符:+,-,*,/,%取模3) 衔接操作符:. ,无论操作数是什么,都当成String,结果前往String4) Combined Assignment Operators合计赋值操作符:+=,*=,/=,-=,%=,.=5) Automatically Incrementing and Decrementing自动增减操作符:1+$variable,-$variable,先+或-,再做其他操作2$variable+=1 $variable+;$variabl

3、e-=1 $variable-,跟c言语一样,先做其他操作,后+或-6) 比较操作符:= =左边等于右边,!=左边不等于右边,= = =左边等于右边,且数据类型一样,=,=7) 逻辑操作符:| or,&and,xor(当左右两边有且只需一个是true,前往true),!4、 注释:单行注释:/ ,#多行注释:/* */5、 每个语句以;号结尾,与java一样6、 定义常量:define(“CONSTANS_NAME,value)7、 打印语句:print,与c言语一样8、 流程控制语句1) if语句:1if(expression)/code to excute if expression ev

4、aluates to true2if(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

5、 hitherto3) ?操作符:( expression )?returned_if_expression_is_true:returned_if_expression_is_false;4) while语句:1 while ( expression ) / do something2do/ code to be executed while ( expression );5) for语句:for ( initialization expression; test expression; modification expression ) / code to be executed6) br

6、eak;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$functi

7、on_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?phpf

8、unction 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);

9、?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、函数名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 =

11、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(m

12、ysql_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表单元素名,如$_PO

13、STuser接受url中queryString中值GET方式:$_GETqueryString12、转向其他页面:header(Location: phprm);13、字符串操作:1explode(“-,str)Java中的splite2str_replace$str1,$str2,$str3 =$str1要查找的字符串,$str2用来交换的字符串,$str3从这个字符串开场查找交换3substr_replace:14、session:1翻开session:session_start(); /也可以在php.ini设置session_auto_start=1,不用再每个script都写这句,但

14、是默以为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(mysq

15、l_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,那么阐明没有分类$

16、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;

17、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 cate

18、gory.; 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

19、 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(); ?安装php运转环境密码:$boss$或briup超级用户下键入命令:2./opt/lampp/lampp start翻开阅读器:输入localhost.在

20、htdocs目录下创建一个目录叫ld1102.在该目录下创建第一个php文件文件名叫:test.php3.找到/opt目录lammphtdocshtdocs目录为php文件存放的目录。即web运用软件的目录,当前阅读器输入localhost的时候,其实找到的就是hidocs,只是在执行的时候,将该文件经过apache软件进展里部署和运转提示:以后一切的测试,都是在阅读器键入localhost然后加上文件夹的名字或者文件的名字举例:比如在htdocs目录下有个曾经生成好的运用包叫test,该文件夹下有个文件叫test.php那么在运转test.php文件的时候的阅读器地址为localhost/t

21、est/test.php4.修正htdocs目录的权限suchomd 777 htdocs3.php文件的创建1文件的后缀名以.php终了2php代码必需写在php的标志中php的标志有四种风格:常用:开场:其他: 3php文件的组成内容1可以直接写成html代码2php标志3php语句4空格5注释:所谓注释就是给代码进展阐明文字,本身在代码执行的时候没有任何意义,仅仅作为代码阅读的诠释者。php中的注释有三种:单行注释有两种6/:表示出如今该符号后面的张行内容为注释内容#:c言语的单行注释风格,意义跟/一样多行注释一种/* 注释内容 注释内容*/表示出如今该符号中间的多行内容为注释内容7.e

22、cho语法:echo “内容;或者echo 内容 内容:可以直接写html言语意义:将该内容使出到阅读器进展显示8.每行代码完成以“;终了9.变量:所谓变量,就是存放数据的容器,该容器里面的数据可以变化。变量的声明语法:$变量名变量名又称一种标识符,标识符在定义的时候有三个要求:1必需为字母、数字或者下划线组成2不能以数字开场3大小写敏感区分大小写变量的赋值语变量初始化法:$变量名=变量值=为赋值符号。该语法表示。将=后面的值存放到=前面的变量中变量调用语法:$变量名练习:?php$a =briup; echo 欢迎来到$a,谢谢; echo 欢迎来到$a,谢谢; echo 欢迎来到$a学习;

23、 echo 欢迎来到$a学习;echo 欢迎来到$a学习;?留意:1双引号里面出现的变量,运用的是变量的值,但是变量名后面不能直接跟上标识符命名的字符2单引号里面出现的变量,不能当作变量运用,只当作普通的字符串运用3$a学习其实该变量的名字为a学习,该变量没有存放任何值。随意显示为空4变量在中运用的完好语法是$变量名或者$变量名10.php代码所从上至下一行一行代码执行的11.php数据类型1根本数据类型整形Integer类似与0 1 2 -1 -2,也就是数学中所说的整型那个数据简写int浮点型Float就是数学中所说的小数类型字符型String字符串,在运用字符类型数据源的时候和,必需放到

24、单引号或者双引号当中,或者定界符中定界符:php对于字符型数据的规范符号,表示放到该符号中的数据为字符类型数据定界符的语法:算数操作符+ - * / %:分别为加减乘除余假设需求将除法运算的两部分的值准确度的获得。商获得的语法:$a = int数字/数字余数获得的语法:$b = 数字%数字2字符串操作符. 将符号前后的两个字符串衔接起来。假设,前后的数据不是字符类型,php将进展自动的数据类型转换,转换成字符类型,然后进展衔接操作$a = “abcd“;$b = efgh;$c = $a.$b;echo $c;3赋值操作符和复合赋值操作符=:赋值操作符+= -= *= /= %= .=:都值复

25、合赋值操作符号,表示的意义如下例:$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;留意:+ -放到变量后面,表

26、示先进展该语句当中的其他运算如赋值运算,在进展变量的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布尔类型的值。 =:比较两个值能否相等 =:比较两个值能否恒等,

27、值相等且数据类型相等 例如: 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 |:按位或操作,将操作符前后的两个值转换成二进制进展按位或操作,当且仅

28、当一样位都为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 :位右移运算,将前面本人转换成二

29、进制向右挪动后面的位数如: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.代码块:

30、放在中的代码,我们称这样的结果为代码块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

31、子句和一切的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语

32、句,假设case后面的值都不满足,将执行default:后面的代码块直至终了switch语句21.for循环操作所谓循环操作就是一样的代码块被多次执行语法:forcan1;can2;can3代码块can1:循环参照变量初始化for循环开场即被执行can2:循环参照变量表达式每次执行循环操作时都先判别该表达式的真假,为真才执行中的代码块。为假那么终了for循环can3:循环参照变量变化表达式每执行一个代码块以后,将自动运转该表达式改动参照变量的值执行逻辑:首先初始化can1,然后第一次判别can2能否为真,为真执行第一次循环体代码块执行完成以后执行can3表达式,再第二次判别can2能否为真,为

33、真再次执行循环体代码块,执行完成以后执行can3表达式,再判别can2能否为真,周而复始,直至can2不满足的时候,for循环终了。22.逻辑控制语句之间可以相互嵌套23.while循环语法:can1初始化whilecan2 代码块; can3;执行逻辑参照变量的初始化在while循环语句上面作为单独的一行代码执行,然后进入while循环语句的第一步,判别can2能否满足,假设满足,执行代码块,代码块中通常有can3参照变量变化表达式的执行,完成以后,又回到can2的判别,假设又满足,继续执行代码块,周而复始,直至can2表达式不满足,终了while循环。24.do while循环语法:can

34、1初始化do代码块;can3;whilecan2;执行逻辑:不论三七二十一,首先执行一次do后面的代码块。然后再去判别can2表达式能否满足,满足再一次执行do后面的代码块。周而复始,直至最后can2表达式不满足。25.for循环 while循环是先判别然后在执行。do while循环是先执行再判别,一切for循环 while循环最少执行0次。do while循环最少循环1次26.循环语句中有三个关键词break:遇到该语句,终了整个循环continue:遇到该语句,终了当前当次循环,继续下一次循环假设有,即该语句下面的代码不会执行exit:遇到该语句,终了整个代码的运转练习:for($i=0

35、;$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;2数组中添加元素的语法:第一类:数字索引第一种:$数组名元素的数字序列号 = 元素的值第二种:$数组名 = 元素的值 该方式系统会自动的添加数字索引,从0开场依次递增第三种:$数组名 = array(元素值1,元素值2.) 该方式系

36、统将自动给元素的值加上数组索引,依然从0依次递增。 $数组名 = array( key1 = value1, key2 = value2.)该方式是将值指定自定义的数组索引,方式是将每个元素以 键索引=值 这方式进展添加第二类:关联数组字符串索引第一种:$数组名元素的字符串索引值 = 元素的值第二种:$数组名 = array( key1 = value1, key2 = value2.)该方式是将值指定自定义的字符串索引,方式是将每个元素以 键索引=值 这方式进展添加留意:数组中的第一个元素的序列号为0.而不是13数组的单个取值语法:$数组名值对应的索引名(假设是字符串索引要加上);数组的遍历

37、:所谓遍历就是将数组的每一个元素统统过一遍遍历延续数字索引的数组可以运用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 =

38、 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

39、$i; $a$i = $a$j; $a$j = $temp; for($i=0;$icount($a);$i+)echo $a$i.;运用print_r($array_name)可以见数组直接打印输出到页面数组操作符:+:数组追加,将符号前面的数组元素加上符号后面的数组元素,组合成一个新的数组,但是留意,索引一样的元素不会进展追加。=:元素键值对一样,顺序不限,前往true=:元素一样且顺序一样前往true。!= or 为 =的相反情况!= 为 =的相反情况多维数组:所谓多维数组就是数组的元素值不是单一的值,而是余个数组,即一个数组作为一个值保管在另外的一个数组中。多维数组中的二维数组引见;例

40、如:$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;$mul_array2 = 5;二维数组的访问方式:$数组名最外层数组的索引最里层的数组索引;二维数组的遍历:foreach($array_nam

41、e as $key=$value)foreach($value as $key2=$value2)$value2;练习:$mul_array = array(0 = array(0 = 1,1 = 2,2 = 3,),1 = array(0 = 1,1 = 2,2 = 3,),2 = array(0 = 1,1 = 2,2 = 3,);echo ;foreach($mul_array as $key=$value)$num = $key+1;echo 第.$num.个元素的值为:;foreach($value as $key2 = $value2)echo $value2.;28.函数:所谓函

42、数就是接受传入值,执行代码块,前往结果值。函数的语法:function f_ name代码块;return $result;function:关键词f_sname:函数名复合标识符的三个要求can1,can2,.:函数接受的值存储变量,可以接受多个值,即可以定义多个参数变量。return $result:假设函数需求有前往结果的话,运用return关键词前往。函数的调用语法:$result = f_name(val1,valu2,.);$result:假设函数有前往结果,用一个变量存储,该名字可以自定义。f_name:函数的名字val1,val.:函数调用的时候需求传入的值,根据定义的时候定义

43、的can1,can2个数和顺序进展书写。拓展:函数在定义的时候可以将参数设置默许值,默许值的意思就是函数在调用的时候该参数假设没有传入值,将运用默许的值传入/函数默许值练习 function test_dafault($a=1,$b=2) return $a+$b; $c = test_dafault(); $d = test_dafault(2,3); echo $c.; echo $d.; 留意:默许值在设置的时候,假设部分参数这只默许值,部分不设置默许值,必需将不设置默许值 的参数全部放到前面,有默许值的都放到后面,调用董事会,没有设置默许值的必需传入值 ,设置默许值的可以传也可以不传入

44、值。函数在一个执行文件中,只能被定义一次,即不能有重名的函数。29.作用域:变量的作用域分为全局变量,部分变量和超级全局变量全局变量:整个执行文件任何代码行都可以调用到的变量称之为全局变量定义的方式:定义在方法外部的变量或者方法内部的变量在定义的时候加上了global关键词部分变量:定义在方法内部的变量称之为部分变量,该变量只能在该方法中能调用到。定义的方式:定义在方法内部,没有加global关键词的变量超级全局变量:多个执行文件之间一切代码行都能访问到的变量。留意:方法参数定义的变量,只需在方法被调用的时候才被运用,且并没有实践的存在意义,仅仅充任一个值的传送工具。方法参数变量的改动仅仅在方

45、法被调用的过程中有作用,方法执行终了,该参数变量将不复存在。/作用域练习 $a = 100;/$a为全局变量 $b = 200;/$b为全局变量 function test_area($a,$b)/$a $b为部分变量 global $c;/$c为全局变量 $c = $a*$b; $d = $a-$b;/$d为部分变量 return $a+$b;/留意前往的值不是变量 $e = test_area(1,1); echo $a;/方法外部的变量只能调用全局变量 echo $b; echo $c; 练习:$a = 1;$b = $a+;$c = &$b;$d = &$c;function test

46、($a,$b,$c=10)global $d;$e = $a+$b;$f = $d+$e;$d = $a*$b*$c*$f;return $d;$g = test(2,3);echo $a;echo $b;echo $c;echo $d;echo $e;echo $f;echo $g;援用传参:参数在定义的时候用到的是援用的语法,表示参数在传送符时候,传送的是变量的援用,即参数在操作的过程中哦能改动,所援用的变量也随之改动。require和include:引入目的文件中的代码例如:语法: require 目的文件途径;include 目的文件途径;require和include的区别:假设目的

47、文件不存在运用require将导致一个错误终止接下来的代码执行,而include只会生成错误信息,不会终止代码的执行require和include有两个衍生的运用方式,require_once 和 include_once,该语法表示目的文件只能被引入一次,防止了一个有函数的文件多次引入时导致的函数反复错误。30.数组函数/数组排序函数/运用sort函数可以对数组的值进展升序排序。sort($array_name),直接将$array_name数组排序并保管。数字类型,按照数值的大小进展升序,字符类型,将按照一个一个字母的出现顺序从左至右升序,比如,abc abad升序排序为:abad abc

48、。sort函数只排值,不排索引,排序好的数组索引,系统将自动生成从0开场的数字,原来的索引并不保管。$array1 = array(1,34,26,657,985);sort($array1);print_R($array1);$array2 = array(key1 = 1,key2 = 20,key3 = 5,key4 = 2);sort($array2);print_r($array2);/运用asort函数可以将数组的值进展升序排序,该值所匹配的索引值将随着值的挪动而挪动,即保管原来的索引。语法为asort($array_name),同样的$array_name将重新保管为排好序的数组

49、。$array3 = array(key1 = 20,key2 = 4,key3 = 2);asort($array3);print_R($array3);/降序排序rsort和arsort,语法跟sort和asort一样。$array4 = array(2,23,211,4234);rsort($array4);print_r($array4);$array5 = array(101=2,102=23,103=211,104=4234);rsort($array5);print_r($array5);/ksort:按照数组的索引值进展升序排序,索引所匹配的值将一块儿挪动,语法:ksort($

50、array_name),$array_name将重新保管为按照索引排好序的数组,krsort:按照数组的索引值进展降序排序,索引所匹配的值将一块儿挪动,语法:krsort($array_name),$array_name将重新保管为按照索引排好序的数组$array6 = array(234 = 1,111 = 2,5 = 3,);ksort($array6);print_r($array6);$array7 = array(234 = 1,111 = 2,5 = 3);krsort($array7);print_r($array7);/运用shuffle函数将对数组的元素值进展随机排序。索引值

51、重新定义成0开场的数字索引,语法:shuffle($array_name),$array_name数组将自动保管为随机排序好的数组$array8 = array(1 = 1,2 = 2,3 = 3,4 = 4);shuffle($array8);print_r($array8);/运用array_push函数可以往数组尾部添加一个或者多个元素。语法:array_push($array_name,元素1,元素2.),元素可以只写值,也可以写成key=value的方式。$array_name将重新保管为尾部添加好元素的数组。$array9 = array(北京,上海,江苏);array_push(

52、$array9,安徽,海南,河南);print_r($array9);/运用array_unshift函数可以往数组的头部添加元素$array10 = array(北京,上海,江苏);array_unshift($array10,安徽,海南,河南);print_r($array10);/运用array_pop可以从数组的尾部删除一个元素。array_pop($array10);print_r($array10);/运用array_shift可以从数组的头部删除一个元素。array_shift($array10);print_r($array10);/运用unset函数可以指定删除数组的某个元素

53、。语法:unset($array_namekey值),将数组数组$array_name中所以为key值的该元素unset($array102);print_R($array10);/运用range可以产生一个延续数字的数组,语法:range(开场数字,终了数字),该函数将前往一个从开场数字到终了数字延续值的数组。$array11 = range(1,10);/产生一个值从1到10,共10个延续值的数组print_r($array11);/运用array_reverse可以对数组元素进展倒序排序,语法:array_reverse($array_name,true),第二个参数true可选,写上表

54、示倒序排序的时候保管值的索引,不写表示将由系统自动生成0开场的数字索引,该函数将前往一个$array_name到序排序的数组。原来的$array_name中的元素顺序并 不发生变化。$array12 = array(1,2,3,4,5);$array12 =array_reverse($array12);print_R($array13);/数组指针函数/reset可以将指针指向数组的第一个元素,语法:reset$array_name。$array14 = array(1,2,3,4,5);reset($array14);/current函数能前往当前指针指向的元素值。语法:current($

55、array_name),前往当前指针指向的元素值$value = current($array14);echo $value;/next函数将数组的指针往后面的一个元素挪动。语法:next($array_name);一旦运用next挪动到了数组的末尾移出数组,将前往false。next($array14);$value = current($array14);echo $value;/运用reset,current,next可以到达用指针遍历数组的效果$array15 = array(zhangsan,lisi,wangwu,zhaoliu);reset($array15);do$value

56、= current($array15);echo $value.;while(next($array15); /end函数可以将数组的指针指向数组的最后一个元素,语法:end($array_name); $array16 = array(1,2,3,4,5); end($array16); $value = current($array16); echo $value;/prev函数可以将指针回移一个单位语法:prev($array_name);prev($array16);$value = current($array16);echo $value;/结合end prev current函数

57、,从数组尾部往头部遍历数组, $array17 = array(1,2,3,4,5); end($array17); do $value = current($array17); echo $value.; while(prev($array17);/each函数不仅能前往当前指针所指向的元素,且能将指针往后一个元素挪动。语法:each($array_name),该函数前往$array_name当前指针所指向的元素,由于元素有索引和值两部分,所以该函数前往的内容为一个数组,前往的数组保管两个值,第一个值索引为0,保管的是$array_name当前指针所指向的元素的索引,第二个值索引为1,保管的

58、是$array_name当前指针所指向的元素的值,假设each挪动指针到了数组末尾,将前往false$array18 = array(1,2,3,4,5);reset($array18);$value = each($array18);$value2 = current($array18);echo $value1.;echo $value2.;/运用each函数可以遍历我们的数组$array19 = array(1,2,3,4,5);reset($array19);while($item=each($array19)echo $item0.=.$item1.;练习: /玩扑克牌。模拟扑克牌的

59、自动发排机器,生成一副没有大小鬼的扑克牌,然后发给4个玩家,每次发的排不一样。 /生成牌。黑红梅方共52张牌,提示:将52张扑克放到一个数组 中 /洗牌,用shuffle函数随机排序扑克 /发牌,发牌的时候一张张一个个发,即一轮轮发,每一轮发4张牌,每个人拿一张。 $value)foreach($num as $key2=$value2)$cards = $value.$value2;/第二步:洗牌shuffle($cards);/第三步:发牌$person1 = array();$person2 = array();$person3 = array();$person4 = array();

60、for($i=0;$i运用array_walk函数可以对数组的每个元素值进展指定回调函数的执行语法:array_walk$array_name,“函数名字;第二个参数即为指定的回调函数的函数名$array20 = array(1,2,3,4,5);$new_array = array();function add($value)global $new_array;$new_array = +$value;array_walk($array20,add);print_r($new_array);/count和sizeof都可以统计数组元素的个数,语法:count($array_name),前往一

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论