PHP的循环
什么是循环:
不少实际问题中有许多具有规律性的重复操作,因此在程序中就需要重复执行某些语句。一组被重复执行的语句称之为循环体,能否继续重复,决定循环的终止条件。循环结构是在一定条件下反复执行某段程序的流程结构,被反复执行的程序被称为循环体。 [1] 循环语句是由循环体及循环的终止条件两部分组成的。
PHP的三种循环
在PHP中一共有while、for、foreach三种循环。
for循环:循环执行代码指定的次数
for (初始值;条件;增量){
要执行的代码;
}
举个例子:
for($i=0;$i<10;i++){
echo “wobuxiangdangcaixukun”;
}
这个循环就会输出十次
初始值:主要是初始化一个变量值,用于设置一个计数器(但可以是任何在循环的开始被执行一次的代码)。
条件:循环的限制条件。如果为true,则循环继续。如果为false,则循环结束。
增量:主要用于递增计数器(但可以是任何在循环结束被执行的代码)。
tips:上面的初始值和增量参数可为空,或者有多个表达式(用逗号分隔)。
tips:
1.for的死循环
for($i=1;i>0;i++){
要执行的代码;
如果要跳出这个死循环可以用continue;
}
2.continue和break的区别:
continue是跳过本次循环,break是退出当前循环。continue是本次循环不执行直接退出,break是执行完循环后再退出。
while循环:
只要给定的条件成立,就循环执行代码;
while(条件)
{
要执行的代码
}
一个简单的例子:
$j=1;
while($j<3){
echo “你知道什么是两开花嘛”;
}
这个while循环会执行两次
tips:
1.while的死循环
$i=0;
while(true){
要执行的语句。同样要跳出可以用continue和break。
}
2.do…while
do{
要执行的代码;
}
while(条件);
这个循环的效果跟前面的是一样的。
foreach循环:
用于遍历数组:
foreach($array as $key=>$value){
echo “$key.$value.<br>“;
}
PHP数组:
数组是一个能在单个变量中存储多个值的特殊变量。在数组里面所有的数据类型都可以。
php中数组主要分为:索引数组和关联数组。
索引数组:索引数组存储一系列经过组织的单个或多个值,其中的每个值都可以通过使用一个无符号整数值进行访问。
关联数组:关联数组是使用您分配给数组的指定的键的数组。
创建一个索引数组
$arr=array(1,2,3,4,5,6,7);
还可以这样创建:
$arr=array[1,2,3,4,5,6,7];
但是这个要求php版本至少为5.4以上才能创建。
这样就创建好了一个索引数组;
读取索引数组:
echo “$arr[0]”;
$arr[0]表示的是数组中下标为0的元素。array中下标是从0开始的。输出结果为1.指的就是数组中的地你一个元素。
当然也可以直接给数组赋值:$arr=array();(tips:定义一个空数组也是可以的)。$arr[0]=1;$arr[1]=2;
输出的结果就是:array(1,2)。在数组中即使不按顺序赋值也是可以的,例如$arr[12]=999;这中间的空余键不存在。
输出的结果就是:array(1,2,999)。
关联数组:关联数组是使用您分配给数组的指定的键的数组。
$arr=array(‘name’=>’cxk’,’age’=>3.5)
关联数组与索引数组不同的是:虽然它们都有下边,但是关联数组因为键值的原因不能通过下标来数组中的元素,只能通过键值来取元素
例如想取出cxk,echo “$arr[‘name’]”;才是正确的,$arr[0]取不出’cxk’;需要注意的是关联数组和索引数组是可以混合使用的
例如:$arr=array(‘name’=>’cxk’,1,2,’age’=>)。在取数组中的元素时,要注意你取得元素时索引还是关联元素。
杂记:
$_get $_post 这个两个其实是一个关联数组
url?到#之前的内容全都是参数,隔断可以用&符
数组使用的函数:
arra_keys()返回数组中所有的键 在返回时所有的键组成一个索引数组
arra_keys_exists() 判断键名是否存在在一个数组中 返回的是一个bool值
arra_merage()合并多个数组 相当于 + $arr1+$arr2
array_pop 删除数组的最后一个元素 是在原有的基础上删除
array_values() 返回数组中所有的值 返回的是一个索引数组
arsort()降序排序 按照键值排序
asort()升序排序 按照键值排序
in_arry 判断元素是否在数组中
key() 从关联数组中取得键名
sizeof() count()的别名 查看数组中一共有多少个元素;
sort() 排序
arry_unique() 去重。
php自定义函数
什么是自定义函数:将一段代码封装,然后通过名字可以多次使用。
基本格式:
functon adds ($a){
处理数据 $a=addslashes($a);
返回数据return $a;不能同时返回两行,只能返回一次
}
参数;adds 定义的是函数名 $a指的是函数的输入值变量。return指的是函数的返回值,即为输出值。
function 1.接收输入数据 2.处理收到的数据 3.将处理完打的数据返回。 这个是自定义函数的三个基本要求。
function ccc ($a){
echo “你输入的值为$a”
}
当你要应用函数时:
$a=5;
ccc($a);
即可调用函数。
php文件处理:
fopen()函数用于在 PHP 中打开文件。
基本格式为:
fopen(“cxk.gif”,”r”)
参数中的第一个指的是要打开的文件名称,第二个参数指的是用哪一种模式打开文件。
r 只读。在文件的开头开始。
r+ 读/写。在文件的开头开始。
w 只写。打开并清空文件的内容;如果文件不存在,则创建新文件。
w+ 读/写。打开并清空文件的内容;如果文件不存在,则创建新文件。
a 追加。打开并向文件末尾进行写操作,如果文件不存在,则创建新文件。
a+ 读/追加。通过向文件末尾写内容,来保持文件内容。
x 只写。创建新文件。如果文件已存在,否则返回 FALSE 和一个错误。
x+ 读/写。创建新文件。如果文件已存在,否则返回 FALSE 和一个错误。
注释:如果 fopen() 函数无法打开指定文件,则返回 0 (false)。
tips:
1.需要注意的是这些模式中,r+ w+ w x x+ 这几个模式,写是会覆盖当前文件中已经存在的内容.比如一个文件中已经写了“123”,
你在往文件中456时是会覆盖123。你看到的就不在是123而是456;
2.r+ w w+ x x+。如果文件已经打开,并且写入了内容。当你再次写入内容是前面第一次写好的东西是不会被覆盖的,因为在覆盖已经在第一次完成了
,光标已经移到第一次写的内容后面了,所以第二次写入的内容会紧跟在第一次的内容后面。
3.在打开一个文件时,如果这个文件是咋这个.php文件同一个目录下可以用以下格式即为相对路径:
./“cxk.gif” 或者是“cxk.gif” 。
如果不在同一个目录下,就需要写上绝对路径才能打开文件。
4、fclose($a);关闭一个打开的文件
fgets() 读取文件的第一行 读完第一行光标换换到下一行
fread() 读取指定长度的内容
feof() 判断光标是否到文本末尾。如果光标是在末尾返回一个bool值true,否则返回一个flase;
<?php
$file = fopen(“test.txt”, “r”);
//Output a line of the file until the end is reached
while(! feof($file))
{
echo fgets($file). “<br>“;
}
fclose($file);
?> //以上是利用这个函数判断一个文件的光标是否在文件末尾的基本方法。
fputs() fwrite() 向文件中写入内容。