PHP学习

php简述:php是一种服务器端的脚本语言,用于书写动态的网页

1、static

当函数完成执行后,会将所有变量成为初始化,不过有时候我们不需要初始化,不需要时,我们的 static 就可以上场了。

<?php
function myTest(){
	static $a=0;
	echo $a;
	$a++;
}
myTest();
myTest();
myTest();
?>

结果: 012

2、显示字符串

调用数组的格式—— {$cars[0]} —— {数组名[序号数]}

<?php
$text1="Learn PHP";
$test2="book";
$cars=array("Volvo","BWM","SAAB");

echo "$text1;";
echo "<br>";
echo "study PHP at $test2;";
echo "<br>";
echo "my car is a {$cars[0]};";
?>

3、PHP数组

var_dump() 会返回变量的数据类型和值

<?php 
$cars=array("Volvo","BMW","SAAB");
var_dump($cars);
?>

结果:array(3) { [0]=> string(5) “Volvo” [1]=> string(3) “BMW” [2]=> string(4) “SAAB” }

4、strlen()函数

返回字符串中的 字符数

<?php
echo strlen("hello world!");
?>

12

5、strrev()函数

函数反转字符串

<?php
echo strrev("hello world!");
?>

!dlrow olleh

6、str_word_count()函数

函数对字符串中单词的记数

<?php
echo str_word_count("hello world!");
?>

结果:2

7、strpos() 函数

搜索单词

8、str_replace()函数

更换单词

<?php
echo str_replace("world", "Kitty", "Hello world!"); // 输出 Hello Kitty!
?>

结果:Hello Kitty!

9、函数常量 define()

常量定义,调用常量
自动全局的,可以贯穿整个脚本使用

<?php
define ("GREEING","Welcome to CSDN!");
echo GREEING;
?>

结果:Welcome to CSDN!

10、php算数运算符

在这里插入图片描述

11、php运算符

在这里插入图片描述

12、PHP 比较运算符

在这里插入图片描述

13、date()函数

<?php
echo date("Y-m-d",1335283200);
?>

2012-04-25

<?php
//将时间戳以年月日时分秒的形式输出
echo date("Y-m-d H:i:s",1335283200);
?>

2012-04-24 16:00:00

14、if…else…elseif 语句

<?php
$t=date("H");
if($t<"10"){
	echo "Have a good moring!";
}
else if($t<"20"){
	echo "Have a good day!";
}
else {
	echo "Have a good night!";
}
?>

结果:Have a good day!

15、switch()函数

<?php
$favfruit="orange";

switch($favfruit){
	case "apple":
	echo "your favfruit fruit is apple!";
	break;
	case "banana":
	echo "your favfruit fruit is banana!";
	break;
	case "orange":
	echo "your favfruit fruit is orange!";
	break;
	default:
	echo "your favorite fruit is neither apple,banana,or orange!";
}
?>

结果:your favfruit fruit is orange!

16、while 循环

<?php
$x=1;

while($x<=5){
	echo "这个数字是:$x <br>";
	$x++;
}

结果:
这个数字是:1
这个数字是:2
这个数字是:3
这个数字是:4
这个数字是:5

do…while循环

<?php 
$x=1; 

do {
  echo "这个数字是:$x <br>";
  $x++;
} while ($x<=5);
?>

结果:数字是:1
数字是:2
数字是:3
数字是:4
数字是:5

17、for 循环

18、用户定义函数 function()

<?php
function sayHi() {
  echo "Hello world!";
}

sayhi(); // 调用函数
?>

结果:Hello world!

19、函数参数

<?php
function familyName($fname){
	echo "$fname Zhang.<br>";
}

	familyName("li");
	familyName("Hong");
	familyName("xiao mei");
	familyName("jian");
?>	

结果:
li Zhang.
Hong Zhang.
xiao mei Zhang.
jian Zhang.

返回值

<?php
function sum($x,$y){
	$z=$x+$y;
	return $z;
}

echo "5+10=".sum(5,10)."<br>";
echo "7+13=".sum(7,13)."<br>";
?>

5+10=15
7+13=20

20、数组

计算元素数

<?php
	$cars=array("bob","tom","lina");
	echo count($cars);
?>	

结果:3

遍历

<?php
	$cars=array("porsche","BMW","Volvo");
	for($x=0;$x<3;$x++) {
		echo $cars[$x];
		echo "<br>";
	}
?>

结果:
porsche
BMW
Volvo

<?php
	$cars=array("porsche","BMW","Volvo");
	$length=count($cars);
	for($x=0;$x<$length;$x++) {
		echo $cars[$x];
		echo "<br>";
	}
?>

porsche
BMW
Volvo

21、数组排序函数

sort() - 以升序对数组排序
rsort() - 以降序对数组排序
asort() - 根据值,以升序对关联数组进行排序
ksort() - 根据键,以升序对关联数组进行排序
arsort() - 根据值,以降序对关联数组进行排序
krsort() - 根据键,以降序对关联数组进行排序

22、变量超全局

在这里插入图片描述在这里插入图片描述

input type=“submit” 和"button"有什么区别?
  •  <input type="button" /> 这就是一个按钮。如果你不写javascript 的话,按下去什么也不会发生。
    
  • <input type="submit" /> 这样的按钮用户点击之后会自动提交 form,除非你写了javascript 阻止它。
    
  • <button> 这个按钮放在 form 中也会点击自动提交,比前两个的优点是按钮的内容不光可以有文字,还可以有图片等多媒体内容。(当然,前两个用图片背景也可以做到)。它的缺点是不同的浏览器得到的 value 值不同;可能还有其他的浏览器兼容问题(葛亮)。
    
post
<html>
<body>

<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
Name: <input type="text" name="fname">
<input type="submit">
</form>

<?php 
$name = $_POST['fname'];
echo $name; 
?>

</body>
</html>
get
<html>
<body>

<a href="test_get.php?subject=PHP&web=W3school.com.cn">测试 $GET</a>

</body>
</html>
<html>
<body>

<?php 
echo "在 " . $_GET['web'] . " 学习 " . $_GET['subject'];
?>

</body>
</html>

23、PHP表单

post

<html>
<body>

<form action="welcome.php" method="post">
Name: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>

</body>
</html>
<html>
<body>

Welcome <?php echo $_POST["name"]; ?><br>
Your email address is: <?php echo $_POST["email"]; ?>

</body>
</html>

get

<html>
<body>

<form action="welcome_get.php" method="get">
Name: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>

</body>
</html>
<html>
<body>

Welcome <?php echo $_GET["name"]; ?><br>
Your email address is: <?php echo $_GET["email"]; ?>

</body>
</html>

get 和 post 的区别:

  • get通过URL参数进行传递到当前脚本的变量数组
  • 通过 HTTP POST 传递到当前脚本的变量数组
  • get 发送的信息对所有人都可见,不能发送敏感信息,发送信息的数量有限
    在URL中显示,添加某些东西不方便
  • post 发送的信息对所有人都不可见,可以发送敏感信息,对发送的信息没有限制,开发者偏好用post

24、PHP 表单验证实例

cols和设置宽度,通过rows设置高度。

在这里插入代码片

25、常用系统函数

  • 输出函数

输出函数:
echo — printf
print_r() 不输出数据类型,只会输出值,数组答应比较多

<?php
	$a='hello world<br>';
	print_r($a);
?>	

  • 时间函数

date():
time():返回当前的时间戳
microtime():计算微秒数
‘< h r/ >’ — 输出分界线

26、PHP多维数组

<!DOCTYPE html>
<html>
<body>

<?php
$cars = array
   (
   array("Volvo",33,20),
   array("BMW",17,15),
   array("Saab",5,2),
   array("Land Rover",15,11)
   );
   
echo $cars[0][0].": 库存:".$cars[0][1].", 已售:".$cars[0][2].".<br>";
echo $cars[1][0].": 库存:".$cars[1][1].", 已售:".$cars[1][2].".<br>";
echo $cars[2][0].": 库存:".$cars[2][1].", 已售:".$cars[2][2].".<br>";
echo $cars[3][0].": 库存:".$cars[3][1].", 已售:".$cars[3][2].".<br>";
?>

</body>
</html>

结果:
Volvo: 库存:33, 已售:20.
BMW: 库存:17, 已售:15.
Saab: 库存:5, 已售:2.
Land Rover: 库存:15, 已售:11.

27、时间 date() 函数

在这里插入图片描述

<!DOCTYPE html>
<html>
<body>

<?php
echo "今天是 " . date("Y/m/d") . "<br>";
echo "今天是 " . date("Y.m.d") . "<br>";
echo "今天是 " . date("Y-m-d") . "<br>";
echo "今天是 " . date("l");
?>

</body>
</html>

================================================================

在这里插入图片描述

<?php
echo "当前时间是 " . date("h:i:sa");
?>

================================================================

在这里插入图片描述

28、PHP include 和 require 语句

require 会生成致命错误(E_COMPILE_ERROR)并停止脚本
include 只生成警告(E_WARNING),并且脚本会继续

注释:

请在此时使用 require:当文件被应用程序请求时。

请在此时使用 include:当文件不是必需的,且应用程序在文件未找到时应该继续运行时。

29、readfile() 函数

<?php
echo readfile("webdictionary.txt");
?>

写入文件

30、fopen() 函数

打开文件的更好的方法是通过 fopen() 函数

31、fread() 函数

fread() 函数读取打开的文件

32、fclose() 函数

fclose() 函数用于关闭打开的文件

33、 fgets() 函数

fgets() 函数用于从文件读取单行

34、 feof() 函数

feof() 对于遍历未知长度的数据很有用

35、 fgetc() 函数

fgetc() 函数用于从文件中读取单个字符

36、上传文件

$_FILES[“file”][“name”] - 被上传文件的名称
$_FILES[“file”][“type”] - 被上传文件的类型
$_FILES[“file”][“size”] - 被上传文件的大小,以字节计
$_FILES[“file”][“tmp_name”] - 存储在服务器的文件的临时副本的名称
$_FILES[“file”][“error”] - 由文件上传导致的错误代码

<?php

if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 20000))
  {
  if ($_FILES["file"]["error"] > 0)
    {
    echo "Error: " . $_FILES["file"]["error"] . "<br />";
    }
  else
    {
    echo "Upload: " . $_FILES["file"]["name"] . "<br />";
    echo "Type: " . $_FILES["file"]["type"] . "<br />";
    echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
    echo "Stored in: " . $_FILES["file"]["tmp_name"];
    }
  }
else
  {
  echo "Invalid file";
  }

?>

对文件上传的限制。用户只能上传 .gif 或 .jpeg 文件,文件大小必须小于 20 kb:

<?php
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 20000))
  {
  if ($_FILES["file"]["error"] > 0)
    {
    echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
    }
  else
    {
    echo "Upload: " . $_FILES["file"]["name"] . "<br />";
    echo "Type: " . $_FILES["file"]["type"] . "<br />";
    echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
    echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";

    if (file_exists("upload/" . $_FILES["file"]["name"]))
      {
      echo $_FILES["file"]["name"] . " already exists. ";
      }
    else
      {
      move_uploaded_file($_FILES["file"]["tmp_name"],
      "upload/" . $_FILES["file"]["name"]);
      echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
      }
    }
  }
else
  {
  echo "Invalid file";
  }
?>

保存被上传的文件

37、PHP Cookies

38、PHP Sessions

39、PHP 发送电子邮件

40、PHP文件上传

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天威一号

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值