PHP基础2(文件操作,数组,函数)

PHP基础

1.文件操作

文件读取:
<?php
$dir="./test.txt";   //打开文件所在位置
if(!file_exists($dir))   //判断此文件是否存在,如果不存在则输出如下
{
	echo "zashdjka";
}
else
{
	$fp =fopen($dir,"r");     //将打开的位置和给的读权限传参给$fp
	while(!feof($fp))       //feof — 测试文件指针是否到了文件结束的位置   
	{
		echo fgets($fp)."<br>";    //fgets — 从文件指针中读取一行
	}
	fclose($fp);    //关闭文件打开的指针
}
?>

在这里插入图片描述

文件mode属性(代表文件打开的模式):
常用文件模式

r      只读模式,打开文件,从文件头开始读。
r+    读写模式,打开文件,从文件头开始读写。
w     只写模式,打开文件,从文件头开始写,如果文件已存在,则覆盖文件原内容,如果文件不存在,则创建文件。
w+   读写模式,打开文件,从文件头开始读写,如果文件已存在,则覆盖文件原内容,如果文件不存在,则创建文件。
a      追加模式,打开文件,如果文件已有内容,从文件后面追加写,如果文件不存在,则创建文件。
a+    读和追加模式,打开文件,如果文件已有内容,从文件后面读或追加写,如果文件不存在,则创建文件。
x      谨慎写模式,打开文件,从文件头开始写,如果文件不存在,那么文件不会被打开,函数会返回false,并产生一个警告。
x+      谨慎读写模式,读/写模式打开文件,从文件头开始读写,如果文件不存在,那么文件不会被打开,函数会返回false,并产生一个警告。
b	     二进制模式,用于与其他模式连接,如果文件系统能够区分二进制文件和文本文件,你肯能会使用它。Windows可以区分,而UNIX不能区分,推荐使用这个模式,以便于系统的兼容性,二进制模式是默认的模式。
t      文本模式,用于与其他模式结合,只是Windows下的一个选项,不推荐使用,除非你在曾经的代码中使用了b选项。那么文件不会被打开

文件写入:

<?php
$dir = "./ip.txt";   //文件所在位置
$net = "192.168.1.";   //输出的字符串
$fp = fopen ($dir,"w+d");    //fopen打开文件,如果文件不存在就追加
if(file_exists($dir)){    //file_exists判断检查文件或目录是否存在
	for ($a=0;$a<=255;$a++){    //循环结构
		fwrite($fp,"$net"."$a"."\r\n");    //fwrite写入文件(可安全用于二进制文件)
	}
}
?>

在这里不会输出东西,因为都将内容写入到了创建的ip.txt
在这里插入图片描述因为之前没有ip.txt这个文件夹,之后创建的,然后将内容写入到了ip.txt中
在这里插入图片描述

2.数组:

索引数组及遍历:

<?php
$arr=array("aa","abb","ccc");
echo $arr[0],"<br>";
echo $arr[1],"<br>";
echo $arr[2],"<br>";
foreach($arr as $a){   //普通目录遍历(就是索引数组目录遍历)
	echo $a,"<br>";
}

关联数组及遍历:

$arr1=array("name"=>"zxc","xing"=>"nan","nian"=>"18");
echo $arr1["name"],"<br>";
echo $arr1["xing"],"<br>";
echo $arr1["nian"],"<br>";
foreach($arr1 as $b=>$c){  //$key=>$value 的意思是将这个值关联上,任意数都可以关联
	echo "b=".$b." "."c="."$arr1[$b]"."<br>";   //输出调用
}

二维数组及遍历:

$arr2=array(
array("q","w","e"),
array("z","x","c")      //在数组里面不需要加分号,必须加逗号
);
echo $arr2[0][0],"<br>";
echo $arr2[0][1],"<br>";
echo $arr2[0][2],"<br>";

?>

在这里插入图片描述

3.函数:

<?php 
普通的函数传值:
function example($num){   //函数定义,函数名,和参数
	echo "$num * $num=".$num*$num,"<br>";  //函数运算
	}
$var ='example';   //将函数名储存在变量中
$var(1);    //将变量的值传给函数

普通的调用函数:

function zxc($z,$x,$c){
	echo "$z+$x+$c=".$z+$x+$c,"<br>";   //输出这个函数
}
$z=1;
$x=2;
$c=3;  //给这个函数内的所有变量赋值
zxc($z,$x,$c);//调用这个函数
值传递:
$num=10;
function zhichuan($a){
	$a=100;
}
$a=$num;    //值传递的根本表现形式
zhichuan($num);  
echo $num,"<br>"; //值传递不会将num替换掉
地址传递:
function dichuan(&$b){
	$b=100;
}
dichuan($num);
echo $num,"<br>";     //地址传递可以将外边的num替换掉

function morencanshu($name,$add="dizhibu"){
	echo 'name:'.$name,'<br>';
	echo 'dizhi:'.$add,'<hr>';
}
morencanshu('tom',"beijing");  //函数调用,并赋值,复制会覆盖在函数内定义的数
morencanshu('berry');     //函数调用,并赋值berry,没赋值的输出之前在函数内定义的
function chuan($a,$b,$c){
	echo $a,"<br>";
	return $b;   //函数结束,echo $C不会被输出,return的性质
	echo $c;
	
}
echo chuan(1,2,3);

?>

在这里插入图片描述

4.计算器表单交互

源码

<form action="" method="post">
<input type="text" name="x" value=""><br>
<input type="text" name="y" value=""><br>
<input type="submit" name="jia" value="+"><br>
<input type="submit" name="jian" value="-"><br>
<input type="submit" name="cheng" value="*"><br>
<input type="submit" name="chu" value="/"><br>
<?php
if(empty($_POST)!=1){
	if(empty($_POST["jia"])!=1){
		echo $_POST["x"]+$_POST["y"];
	}
	elseif(empty($_POST["jian"])!=1){
		echo $_POST["x"]-$_POST["y"];
	}
	elseif(empty($_POST["cheng"])!=1){
		echo $_POST["x"]*$_POST["y"];
	}
	elseif(empty($_POST["chu"])!=1){
		echo $_POST["x"]/$_POST["y"];
	}
}
?>

实现效果:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值