[PHP] php基础
2015-08-24 21:14
609 查看
一、php程序结构
在 PHP 中,所有用户定义的函数、类和关键词(例如 if、else、echo 等等)都对大小写不敏感。
echo(),print()函数
echo - 能够输出一个以上的字符串
print - 只能输出一个字符串,并始终返回 1
6.1 PHP 字符串
strlen() 函数返回字符串的长度,以字符计。
strpos() 函数用于检索字符串内指定的字符或文本。
八、php常量
下例创建了一个对大小写敏感的常量
11.1 while
12.1 for
14.1 索引数组
sort() - 以升序对数组排序
rsort() - 以降序对数组排序
asort() - 根据值,以升序对关联数组进行排序
ksort() - 根据键,以升序对关联数组进行排序
arsort() - 根据值,以降序对关联数组进行排序
krsort() - 根据键,以降序对关联数组进行排序
十六、php超全局变量
16.1 $GLOBALS — 引用全局作用域中可用的全部变量
十七、php表单
前端表单
后端脚本
十八、php多维数组
include 只生成警告(E_WARNING),并且脚本会继续
请在此时使用 require:当文件被应用程序请求时。
请在此时使用 include:当文件不是必需的,且应用程序在文件未找到时应该继续运行时。
二十、php文件处理
20.1 读文件
PHP 关闭文件 - fclose()
PHP 读取单行文件 - fgets()
PHP 检查 End-Of-File - feof()
PHP 读取单字符 - fgetc()
PHP 创建文件 - fopen()
PHP 写入文件 - fwrite()
二十一、php文件上传
前端表单:
cookie 常用于识别用户。cookie 是服务器留在用户计算机中的小文件。每当相同的计算机通过浏览器请求页面时,它同时会发送 cookie。通过 PHP,您能够创建并取回 cookie 的值。
22.1 创建cookie
PHP session 变量用于存储有关用户会话的信息,或更改用户会话的设置。Session 变量保存的信息是单一用户的,并且可供应用程序中的所有页面使用。
23.1 开始 PHP Session,在您把用户信息存储到 PHP session 中之前,首先必须启动会话。注释:session_start() 函数必须位于 <html> 标签之前:
<!DOCTYPE html> <html> <body> <?php echo "我的第一段 PHP 脚本!"; ?> </body> </html>二、php中的注释
<?php // 这是单行注释 # 这也是单行注释 /* 这是多行注释块 它横跨了 多行 */ ?>三、php中的大小写
在 PHP 中,所有用户定义的函数、类和关键词(例如 if、else、echo 等等)都对大小写不敏感。
<?php ECHO "Hello World!<br>"; echo "Hello World!<br>"; EcHo "Hello World!<br>"; ?>不过在 PHP 中,所有变量都对大小写敏感。在下面的例子中,只有第一条语句会显示 $color 变量的值
<?php $color="red"; echo "My car is " . $color . "<br>"; echo "My house is " . $COLOR . "<br>"; echo "My boat is " . $coLOR . "<br>"; ?>四、php中的变量
<?php $txt="Hello world!"; $x=5; $y=10.5; ?>4.1 全局变量
<?php $x=5; $y=10; function myTest() { global $x,$y; $y=$x+$y; } myTest(); echo $y; // 输出 15 ?>PHP 同时在名为 $GLOBALS[index] 的数组中存储了所有的全局变量
<?php $x=5; $y=10; function myTest() { $GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y']; } myTest(); echo $y; // 输出 15 ?>4.2 静态变量
<?php function myTest() { static $x=0; echo $x; $x++; } myTest(); myTest(); myTest(); ?>五、php的输出
echo(),print()函数
echo - 能够输出一个以上的字符串
print - 只能输出一个字符串,并始终返回 1
echo "Hello world!<br>"; print "Hello world!<br>";六、php的数据类型
6.1 PHP 字符串
$x = "Hello world!";6.2 PHP 整数
$x = 5985; $x = -345; // 负数 $x = 0x8C; // 十六进制数 $x = 047; // 八进制数6.3 PHP 浮点数
$x = 10.365; $x = 2.4e3; $x = 8E-5;6.4 PHP 逻辑
$x=true; $y=false;6.5 PHP 数组
$cars=array("Volvo","BMW","SAAB");6.6 PHP 对象
<?php class Car { var $color; function Car($color="green") { $this->color = $color; } function what_color() { return $this->color; } } ?>6.7 PHP NULL 值
<?php $x="Hello world!"; $x=null; var_dump($x); ?>七、php字符串函数举例
strlen() 函数返回字符串的长度,以字符计。
echo strlen("Hello world!");以上代码的输出是:12
strpos() 函数用于检索字符串内指定的字符或文本。
echo strpos("Hello world!","world");以上代码的输出是:6
八、php常量
下例创建了一个对大小写敏感的常量
define("GREETING", "Welcome to W3School.com.cn!");下例创建了一个对大小写不敏感的常量
define("GREETING", "Welcome to W3School.com.cn!", true);九、if语句
<?php $t=date("H"); if ($t<"10") { echo "Have a good morning!"; } elseif ($t<"20") { echo "Have a good day!"; } else { echo "Have a good night!"; } ?>十、switch语句
<?php switch ($x) { case 1: echo "Number 1"; break; case 2: echo "Number 2"; break; case 3: echo "Number 3"; break; default: echo "No number between 1 and 3"; } ?>十一、while循环
11.1 while
<?php $x=1; while($x<=5) { echo "这个数字是:$x <br>"; $x++; } ?>11.2 do-while
<?php $x=1; do { echo "这个数字是:$x <br>"; $x++; } while ($x<=5); ?>十二、for循环
12.1 for
<?php for ($x=0; $x<=10; $x++) { echo "数字是:$x <br>"; } ?>12.2 foreach
<?php $colors = array("red","green","blue","yellow"); foreach ($colors as $value) { echo "$value <br>"; } ?>十三、php函数
<?php function sum($x,$y) { $z=$x+$y; return $z; } echo "5 + 10 = " . sum(5,10) . "<br>"; echo "2 + 4 = " . sum(2,4); ?>十四、php数组
14.1 索引数组
<?php $cars=array("Volvo","BMW","SAAB"); echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . "."; ?>14.2 获得数组的长度 - count() 函数
<?php $cars=array("Volvo","BMW","SAAB"); echo count($cars); ?>14.3 遍历索引数组
<?php $cars=array("Volvo","BMW","SAAB"); $arrlength=count($cars); for($x=0;$x<$arrlength;$x++) { echo $cars[$x]; echo "<br>"; } ?>14.4 PHP 关联数组
<?php $age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43"); echo "Peter is " . $age['Peter'] . " years old."; ?>14.5 遍历关联数组
<?php $age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43"); foreach($age as $x=>$x_value) { echo "Key=" . $x . ", Value=" . $x_value; echo "<br>"; } ?>十五、php排序
sort() - 以升序对数组排序
rsort() - 以降序对数组排序
asort() - 根据值,以升序对关联数组进行排序
ksort() - 根据键,以升序对关联数组进行排序
arsort() - 根据值,以降序对关联数组进行排序
krsort() - 根据键,以降序对关联数组进行排序
十六、php超全局变量
16.1 $GLOBALS — 引用全局作用域中可用的全部变量
<?php $x = 75; $y = 25; function addition() { $GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y']; } addition(); echo $z; ?>16.2 $_SERVER 这种超全局变量保存关于报头、路径和脚本位置的信息
<?php echo $_SERVER['PHP_SELF']; ?>16.3 $_REQUEST 用于收集通过get和post提交的数据
$name = $_REQUEST['fname'];16.4 $_POST 广泛用于收集提交 method="post" 的 HTML 表单后的表单数据。
<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>16.5 PHP $_GET可用于收集提交 HTML 表单 (method="get") 之后的表单数据。$_GET 也可以收集 URL 中的发送的数据。
前端: <a href="test_get.php?subject=PHP&web=W3school.com.cn">测试 $GET</a> 后端: <?php echo "Study " . $_GET['subject'] . " at " . $_GET['web']; ?>
十七、php表单
前端表单
<html> <body> <form action="welcome.php" method="post"> post也可以换成get Name: <input type="text" name="name"><br> E-mail: <input type="text" name="email"><br> <input type="submit"> </form> </body>
后端脚本
<html> <body> Welcome <?php echo $_POST["name"]; ?><br> $_POST可以换成$_GET Your email address is: <?php echo $_POST["email"]; ?> </body> </html>
十八、php多维数组
<?php $cars = array ( array("Volvo",33,20), array("BMW",17,15), array("Saab",5,2), array("Land Rover",15,11) ); for ($row = 0; $row < 4; $row++) { echo "<p><b>行数 $row</b></p>"; echo "<ul>"; for ($col = 0; $col < 3; $col++) { echo "<li>".$cars[$row][$col]."</li>"; } echo "</ul>"; } ?>十九、PHP Include 文件
<?php include 'footer.php';?> <?require 'noFileExists.php';?>require 会生成致命错误(E_COMPILE_ERROR)并停止脚本
include 只生成警告(E_WARNING),并且脚本会继续
请在此时使用 require:当文件被应用程序请求时。
请在此时使用 include:当文件不是必需的,且应用程序在文件未找到时应该继续运行时。
二十、php文件处理
20.1 读文件
<?php $myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!"); echo fread($myfile,filesize("webdictionary.txt")); fclose($myfile); ?>20.2 写文件
<?php $myfile = fopen("newfile.txt", "w") or die("Unable to open file!"); $txt = "Bill Gates\n"; fwrite($myfile, $txt); $txt = "Steve Jobs\n"; fwrite($myfile, $txt); fclose($myfile); ?>PHP 读取文件 - fread()
PHP 关闭文件 - fclose()
PHP 读取单行文件 - fgets()
PHP 检查 End-Of-File - feof()
PHP 读取单字符 - fgetc()
PHP 创建文件 - fopen()
PHP 写入文件 - fwrite()
二十一、php文件上传
前端表单:
<html> <body> <form action="upload_file.php" method="post" enctype="multipart/form-data"> <label for="file">Filename:</label> <input type="file" name="file" id="file" /> <br /> <input type="submit" name="submit" value="Submit" /> </form> </body> </html>后端脚本:
<?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"; } ?>二十二、php cookie
cookie 常用于识别用户。cookie 是服务器留在用户计算机中的小文件。每当相同的计算机通过浏览器请求页面时,它同时会发送 cookie。通过 PHP,您能够创建并取回 cookie 的值。
22.1 创建cookie
setcookie(name, value, expire, path, domain);22.2 取回cookie
<?php // Print a cookie echo $_COOKIE["user"]; // A way to view all cookies print_r($_COOKIE); ?>22.3 使用 isset() 函数来确认是否已设置了 cookie
isset($_COOKIE["user"])22.4 删除 cookie
<?php // set the expiration date to one hour ago setcookie("user", "", time()-3600); ?>二十三、php session
PHP session 变量用于存储有关用户会话的信息,或更改用户会话的设置。Session 变量保存的信息是单一用户的,并且可供应用程序中的所有页面使用。
23.1 开始 PHP Session,在您把用户信息存储到 PHP session 中之前,首先必须启动会话。注释:session_start() 函数必须位于 <html> 标签之前:
<?php session_start(); // store session data $_SESSION['views']=1; ?> <html> <body> <?php //retrieve session data echo "Pageviews=". $_SESSION['views']; ?> </body> </html>23.2 终结 Session
unset($_SESSION['views']); session_destroy();二十四、php错误处理
<?php if(!file_exists("welcome.txt")) { die("File not found"); } else { $file=fopen("welcome.txt","r"); } ?>二十五、php异常处理
<?php //创建可抛出一个异常的函数 function checkNum($number) { if($number>1) { throw new Exception("Value must be 1 or below"); } return true; } //在 "try" 代码块中触发异常 try { checkNum(2); //If the exception is thrown, this text will not be shown echo 'If you see this, the number is 1 or below'; } //捕获异常 catch(Exception $e) { echo 'Message: ' .$e->getMessage(); } ?>二十六、php过滤器
<?php $int = 123; if(!filter_var($int, FILTER_VALIDATE_INT)) { echo("Integer is not valid"); } else { echo("Integer is valid"); } ?>二十七、php数据库
<?php $con = mysql_connect("localhost","peter","abc123"); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("my_db", $con); $result = mysql_query("SELECT * FROM Persons ORDER BY age"); while($row = mysql_fetch_array($result)) { echo $row['FirstName']; echo " " . $row['LastName']; echo " " . $row['Age']; echo "<br />"; } mysql_close($con); ?>
相关文章推荐
- thinkphp中数据查询注意点
- 深入理解PHP原理之foreach
- 深入理解PHP之数组(遍历顺序)
- phpstorm 快捷键
- PHP位运算符
- 深入理解PHP原理之错误抑制与内嵌HTML
- php大力力 [012节]PHP连接mySQL数据库
- php - mysql数据表的内容管理
- PHP开发提高效率技巧
- yourphp内置编辑器
- PHP课程十大 PHP图像处理功能和实现的验证码
- php - MySQL创建数据库和数据表
- yii2 Event
- 搭建PHP运行环境
- yii配置
- PHP heredoc 用法
- PHP单例模式例子
- YII 1.0 增删改查
- php - MySQL创建新用户并授权
- php析构函数的简单使用说明