php常量,常量是不能被改变的,由英文字母,下划线,和数字组成,但是数字不能作为首字母出现。

bool define ( string $name , mixed $value [, bool $case_insensitive = false ] ) 
<?php
// 区分大小写的常量名
define("44", "Welcome to 444"); echo 44; echo '<br>'; echo 55; ?> 
<?php
// 不区分大小写的常量名
define("Da", "Welcome to dashu", true); echo da; ?> 

字符串变量是用于存储并处理文本的,包含有字符的值,创建,使用,存储在变量中

<?php
$txt="Hello world!";
echo $txt;
?> 

运算符(.)用于把两个字符串值连接起来

strlen()函数返回字符串的长度

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

Strpos() 函数用于在字符串内查找一个字符或一段指定的文本。

<?php
echo strpos("Hello world!","world"); ?> 

三元运算符

(expr1) ? (expr2) : (expr3)

PHP 条件语句

if (条件)
{条件成立时要执行的代码;}if (条件){条件成立时执行的代码;}
else{条件不成立时执行的代码;}if (条件){if 条件成立时执行的代码; } elseif (条件) { elseif 条件成立时执行的代码; } else { 条件不成立时执行的代码; } <?php switch (n) { case label1: break; case label2: break; default: } ?> 

PHP 循环

while (条件为真) {
}do {
} while (条件为真);for (初始值; 条件; 增量)
{}foreach ($array as $value) { } 

PHP 函数

<?php
function functionName() { // 要执行的代码 } ?> 

PHP默认参数值

<?php
function aa($aaa=50) { echo "The is : $aaa<br>"; } aa(); // 将使用默认值 50 ?> 

PHP函数返回值

<?php
function add($x,$y) { $total=$x+$y; return $total; } echo "1 + 5= " . add(1,5); ?> 

PHP 数组

array();$name=array("a","b","c"); 

获得数组的长度

<?php
$name=array("a","b","c"); echo count($name); ?> 

遍历索引数组

<?php
$name=array("a","b","c"); $arrlength=count($name); for($x=0;$x<$arrlength;$x++) { echo $name[$x]; echo "<br>"; } ?> 

遍历关联数组

<?php
$age=array("a"=>"aa","b"=>"bb","c"=>"cc"); foreach($age as $x=>$x_value){ echo "Key=" . $x . ", Value=" . $x_value; echo "<br>"; } ?> 

<?php
$aaa = array
("course"=>array ( "c", "https://a/list" ), "class"=>array ( "b", "https://a.com" ), "coding"=>array ( "a", "https://aa.com" ) ); print("<pre>"); // 格式化输出数组 print_r($aaa); print("</pre>"); ?> 

PHP 数组排序

PHP 全局变量

// $GLOBALS全局变量
<?php
$x = 2;
$y = 3;
function add() { $GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y']; } add(); echo $z; ?> 

$_SERVER全局变量

$_REQUEST 用于收集HTML表单提交的数据

$_POST全局变量

$_GET全局变量

PHP 表单, $_GET 和 $_POST 用于收集表单数据

PHP下拉菜单单选

<?php
$q = isset($_GET['q'])? htmlspecialchars($_GET['q']) : ''; ?> 

PHP下拉菜单多选( multiple=“multiple”)

PHP 表单验证

htmlspecialchars() 函数把特殊字符转换为 HTML 实体

<script>location.href('http://www.aaa.com')</script> 

PHP 日期函数

string date ( string $format [, int $timestamp ] )

date()格式化日期

d–代表月中的天(01-31)、m–代表月(01–12)、Y–代表年(四位数)、1–代表周里的某天

获取时区

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

readfile()函数读取文件,并把它写入输入缓冲
fopen()函数第一个参数包含被打开的文件名,第二个参数规定打开文件的模式

fread() 函数读取打开的文件
fclose()函数用于关闭打开的文件
fgets()函数用于从文件读取单行
fgetc()函数用于从文件中读取单个字符
fopen()函数也用于创建文件
fwrite()函数用于写入文件

创建一个文件上传表单

<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"]["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"]; } ?> 

$_FILES[“file”][“name”]
被上传文件的名称

$_FILES[“file”][“type”]
被上传文件的类型

$_FILES[“file”][“size”]
被上传文件的大小,以字节计

$_FILES[“file”][“tmp_name”]
存储在服务器的文件的临时副本的名称

$_FILES[“file”][“error”]
由文件上传导致的错误代码

上传限制

<?phpif ((($_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"; } ?> 

保存被上传的文件

<?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常用于识别用户

setcookie(name, value, expire, path, domain);
<?php
setcookie("user", "dashucoding", time()+3600); ?> <html> <body> </body> </html> 

$_COOKIE变量用于取回cookie的值

<?php
//输出cookie值
echo $_COOKIE["user"]; //查看所有cookie print_r($_COOKIE); ?> 

使用isset()函数来确认是否设置了cookie

<html>
<body><?php if (isset($_COOKIE["user"])) echo "Welcome " . $_COOKIE["user"] . "!<br />"; else echo "Welcome!<br />"; ?> </body> </html> 

删除cookie

<?php
// 设置 cookie 过期时间为过去 1 小时
setcookie("user", "", time()-3600); ?> 

浏览器不支持cookie
在应用程序中从一张页面向另一张页面传递信息

<html>
<body><form action="welcome.php" method="post"> 姓名: <input type="text" name="name" /> 年龄: <input type="text" name="age" /> <input type="submit" /> </form> </body> </html> 
<html>
<body>Welcome <?php echo $_POST["name"]; ?>.<br /> You are <?php echo $_POST["age"]; ?> years old. </body> </html> 

PHP session变量用于存储关于用户会话信息,或者更改用户会话设置

工作机制
为每个访问者创建一个唯一的 id (UID),并基于这个 UID 来存储变量。UID 存储在 cookie 中,亦或通过 URL 进行传导。

<?php session_start(); ?><html> <body> </body> </html> 

存储session变量

<?php
session_start();
// 存储session数据
$_SESSION['add']=1; ?> <html> <body> <?php //检索session数据 echo "浏览量=". $_SESSION['add']; ?> </body> </html> 
<?php
session_start();
if(isset($_SESSION['views'])){ $_SESSION['views']=$_SESSION['views']+1;} else{ $_SESSION['views']=1;} echo "浏览量:". $_SESSION['views']; ?> 

unset()函数用于释放指定的session变量
session_destroy()彻底销毁session

<?php
unset($_SESSION['views']);
?> <?php session_destroy(); ?> 

mail()函数用于从脚本中发送电子邮件

mail(to,subject,message,headers,parameters)
<?php
$to = "dashucoding@qq.com";         // 邮件接收者
$subject = "参数邮件"; // 邮件标题 $message = "这是邮件的内容。"; // 邮件正文 $from = "dada@qq.com"; // 邮件发送者 $headers = "From:" . $from; // 头部信息设置 mail($to,$subject,$message,$headers); echo "邮件已发送"; ?> 
<html>
<body><?php if (isset($_REQUEST['email'])) //如果接收到邮箱参数则发送邮件 { //发送邮件 $email = $_REQUEST['email'] ; $subject = $_REQUEST['subject'] ; $message = $_REQUEST['message'] ; mail( "someone@example.com", "Subject: $subject", $message, "From: $email" ); echo "邮件发送成功"; } else //如果没有邮箱参数则显示表单 { echo "<form method='post' action='mailform.php'> Email: <input name='email' type='text' /><br /> Subject: <input name='subject' type='text' /><br /> Message:<br /> <textarea name='message' rows='15' cols='40'> </textarea><br /> <input type='submit' /> </form>"; } ?> </body> </html> // 有问题的代码 

防止email注入的最好方法是对输入进行验证

<html>
<body>
<?php function spamcheck($field) { // filter_var() 过滤 e-mail // 使用 FILTER_SANITIZE_EMAIL $field=filter_var($field, FILTER_SANITIZE_EMAIL); //filter_var() 过滤 e-mail // 使用 FILTER_VALIDATE_EMAIL if(filter_var($field, FILTER_VALIDATE_EMAIL)) { return TRUE; } else { return FALSE; } } if (isset($_REQUEST['email'])) { // 如果接收到邮箱参数则发送邮件 // 判断邮箱是否合法 $mailcheck = spamcheck($_REQUEST['email']); if ($mailcheck==FALSE) { echo "非法输入"; } else {//发送邮件 $email = $_REQUEST['email'] ; $subject = $_REQUEST['subject'] ; $message = $_REQUEST['message'] ; mail("someone@example.com", "Subject: $subject", $message, "From: $email" ); echo "Thank you for using our mail form"; } } else { // 如果没有邮箱参数则显示表单 echo "<form method='post' action='mailform.php'> Email: <input name='email' type='text' /><br /> Subject: <input name='subject' type='text' /><br /> Message:<br /> <textarea name='message' rows='15' cols='40'> </textarea><br /> <input type='submit' /> </form>"; } ?> </body> </html> 

PHP 错误

<?php
if(!file_exists("da.txt")){   die("文件不存在"); }else{ $file=fopen("da.txt","r"); } ?>

转载于:https://www.cnblogs.com/daofaziran/p/11571839.html

php数组,常量,遍历等相关推荐

  1. JAVA笔记- JAVA一维、二维数组的遍历与使用详解

    1- 数组概述 需求:现在需要统计某公司员工的工资情况,例如计算平均工资.找到最高工资等.假设该公司有80名员工,用前面所学的知识,程序首先需要声明80个变量来分别记住每位员工的工资,然后在进行操作, ...

  2. vue 循环遍历list_vue使用map代替Aarry数组循环遍历的方法

    需求:根据主键id来找到对应的数组下标 原本的方法是使用for循环遍历该数组,变量 i 就是下标,问题在于,如果有多重for循环,就会导致性能大大下降,数据也容易出错 因此使用map,让数组(原本是l ...

  3. 元素均匀排列自动换行二维数组前端遍历

    1.元素均匀排列并自动换行 display:flex; flex-wrap:wrap; 2.getFiled();取一行,取多行的话用getFiled('id',true); 3.二维数组前端遍历: ...

  4. java script 遍历数组_JavaScript中数组中遍历的方法

    前言 最近看了好几篇总结数组中遍历方法的文章,然而"纸上得来终觉浅",决定此事自己干.于是小小总结,算是自己练手了. 各种数组遍历方法 数组中常用的遍历方法有四种,分别是: for ...

  5. Java的知识点16——数组概述和特点、数组声明、初始化、数组的遍历、for-each循环、数组的拷贝

    数组的定义 数组是相同数据类型的有序集合.数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成.其中,每一个数据称作一个元素,每个元素可以通过一个索引(下标)来访问它们.数组的三个基本特点 ...

  6. js 数组遍历符合条件跳出循环体_Javascript数组循环遍历之forEach详解

    1.js 数组循环遍历. 数组循环变量,最先想到的就是 for(var i=0;i除此之外,也可以使用较简便的forEach 方式 2.forEach函数. Firefox 和Chrome 的Arra ...

  7. 指针数组的初始化和遍历,并且通过for循环方式、函数传参方式进行指针数组的遍历...

    1 /************************************************************************* 2 > File Name: messa ...

  8. 浅谈数组常见遍历方法

    本文主要介绍数组常见遍历方法:forEach.map.filter.find.every.some.reduce,它们有个共同点:不会改变原始数组. 接下来都是使用底下的基础数组来实现一些方法: 累加 ...

  9. for+next()实现数组的遍历及while list each 的使用

    //要求使用for循环语句来完成该数组的遍历 //输出每一项的键名和对应值:     $a = array(            'a' => 34,            5 => 5 ...

  10. 数组正遍历,数组倒遍历

    package com.pang.array_demo;public class Array_Demo {public static void main(String[] args) {int[] a ...

最新文章

  1. IOS开发笔记11-Object-C中的传递消息
  2. 聊聊性能测试、操作系统优化对性能测试的影响,以及如何优化操作系统
  3. js 停止事件冒泡 阻止浏览器的默认行为
  4. js中输出变量的类型和输出对象的的属性/方法/成员函数
  5. LIMIT M,N分页性能优化方案
  6. 对Url Schemes的简单了解
  7. java常用类的特征_Java常用类-包装类
  8. IBM存储扩展柜磁盘在线扩容(一)
  9. UrlEncoder和UrlDecoder
  10. 《代码整洁之道》:整洁代码有意义的命名
  11. LeetCode 9 回文数 c语言
  12. Syntax error on token?excepted agter this token
  13. 北大药学院院长被指涉嫌学术造假,同组院士做出回应
  14. IT外企那点儿事--也说跳槽
  15. 推荐算法工程师面试准备
  16. UE4Material_RainEffect(雨的效果)
  17. 是什么让你感受到了中年危机,如何应对即将到来的中年危机
  18. 海气耦合模态--学习笔记
  19. P35页作业 信管1181霍煜成
  20. DNS域名解析服务器

热门文章

  1. org.apache.catalina.connector.ClientAbortException: java.io.IOException: Broken pipe
  2. iOS开发-开发总结
  3. Bilateral Filtering(双边滤波) for SSAO(转)
  4. ATL CLR MFC Win32 常规 的区别
  5. Android 一个apk多个ICON执行入口
  6. 数据仓库专题(2)-Kimball维度建模四步骤
  7. #include quot;*.cquot;文件的妙用
  8. PostgreSQL 安装配置 (亲测可用)
  9. Kendo UI 简单使用
  10. Hyper-V Server 2008 R2 系统部署向导