php 的艺术体系

mac2022-06-30  140

语法

变/常量: $a = 1:变量

bool define ( string $name , mixed $value [, bool $case_insensitive = false ] ):常量

输出 echo :用于输出字符串 print:用与输出 echo 输出的速度比print快,echo没有返回值,print有返回值 <?php $txt1="学习 PHP"; $txt2="RUNOOB.COM"; $cars=array("Volvo","BMW","Toyota"); echo $txt1; echo "<br>"; echo "在 $txt2 学习 PHP "; echo "<br>"; echo "我车的品牌是 $cars[1]"; ?>

说明: 1. 官方案例中使用了{$cars[1]},它与$cars[1]等价。

数组 > 1. 数据的生命$array[0] =这样的方式可以声明 > 2. array(); 用与声明一个数组 > 3. 数组的嵌套:也就是array()的嵌套。 > 4. 数组的长度count($array)函数获取 > 5. map 的对象 $array['nao']= > 6. <?php // 二维数组: $cars = array ( array("Volvo",100,96), array("BMW",60,59), array("Toyota",110,100) ); ?>

同时数据可以表示map

<?php $sites = array ( "runoob"=>array ( "菜鸟教程", "http://www.runoob.com" ), "google"=>array ( "Google 搜索", "http://www.google.com" ), "taobao"=>array ( "淘宝", "http://www.taobao.com" ) ); print("<pre>"); // 格式化输出数组 print_r($sites.); print("</pre>"); ?>

如何获取? 可以通过$sites[taobao][0]来获取map中的数据

逻辑语句

与java 一样

while while (条件) { 要执行的代码; } do...while do { 要执行的代码; } while (条件);

函数定义

语法
function functionName() { 要执行的代码; }

说明:参数可以设置默认值

function fn($a = 1,$b = 2){ echo $a; echo '<br>'; echo $b; }

魔法变量

__LINKE__ 当前行数__FILE____DIR____FUNCTION____CLASS____TRAIT__:真正使用时在对应的重写的方法前加上trait 如 <?php class Base { public function sayHello() { echo 'Hello '; } } trait SayWorld { public function sayHello() { parent::sayHello(); echo 'World!'; } } class MyHelloWorld extends Base { use SayWorld; } $o = new MyHelloWorld(); $o->sayHello(); ?> //结果:hello world __METHOD____NAMESPACE__:命名空间,namespace MyProject

高级特性

表单

提交给自身:

<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>

正则方法校验

preg_match()

校验输出

test_input() - $_GET()与$_POST对象

日期

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

文件操作

打开一个文件

fopen()

案例:$file=fopen("welcome.txt","r") or exit("Unable to open file!");

关闭一个文件

fclose($file);

检测文件末尾

if (feof($file)) echo "文件结尾";

行读取文件

echo fgets($file). "<br>";

字符读取

echo fgetc($file);

文件上传

$_FILES:表示上传文件的对象

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

限制

cookie

setcookie(name, value, expire, path, domain);

说明: 1. name:key 2. value:值 3. expire :有效期 4. path: 5. domain : 主域 6. 获取cookie的值: $_COOKIE[]

SESSION

开始

session_start()

获取

$_SESSION[]

消除值

unset()

判断是否有相关值

isset()

销毁

session_destroy();

使用email

方法

mail(to,subject,message,headers,parameters)

说明
to :接受者subject :主题message :消息headers :标题paramters :额外的参数
案例
<?php $to = "someone@example.com"; // 邮件接收者 $subject = "参数邮件"; // 邮件标题 $message = "Hello! 这是邮件的内容。"; // 邮件正文 $from = "someonelse@example.com"; // 邮件发送者 $headers = "From:" . $from; // 头部信息设置 mail($to,$subject,$message,$headers); echo "邮件已发送"; ?>

安全校验 1. spamcheck():email 是否合法 2. filter_var($field, FILTER_SANITIZE_EMAIL); 3. filter_var($field, FILTER_VALIDATE_EMAIL)

json

json_encode:json_decode:

xml

加载输出 或者 simplexml_load_file(); $xmlDoc = new Document(); $xmlDoc->load('note.xml'); $x = $xmlDoc->documentElement; foreach ($x->childNodes AS $item) { print $item->nodeName . " = " . $item->nodeValue . "<br>"; }

数据库

连接:

$servername = "localhost"; $username = "username"; $password = "password"; $conn = new mysqli($servername, $username, $password); //$conn = mysqli_connect($servername, $username, $password); // 检测连接 if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } echo "连接成功";

执行sql

$conn->query($sql) === TRUE //mysqli_query($conn, $sql) // mysqli_multi_query($conn, $sql):多条记录

预处理

使用mysqli
<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB"; // 创建连接 $conn = new mysqli($servername, $username, $password, $dbname); // 检测连接 if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } // 预处理及绑定 $stmt = $conn->prepare("INSERT INTO MyGuests (firstname, lastname, email) VALUES(?, ?, ?)"); $stmt->bind_param("sss", $firstname, $lastname, $email); // 设置参数并执行 $firstname = "John"; $lastname = "Doe"; $email = "john@example.com"; $stmt->execute(); $firstname = "Mary"; $lastname = "Moe"; $email = "mary@example.com"; $stmt->execute(); $firstname = "Julie"; $lastname = "Dooley"; $email = "julie@example.com"; $stmt->execute(); echo "新记录插入成功"; $stmt->close(); $conn->close();
通常使用的PDO来做预处理操作
<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDBPDO"; try { $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); // 设置 PDO 错误模式为异常 $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // 预处理 SQL 并绑定参数 $stmt = $conn->prepare("INSERT INTO MyGuests (firstname, lastname, email) VALUES (:firstname, :lastname, :email)"); $stmt->bindParam(':firstname', $firstname); $stmt->bindParam(':lastname', $lastname); $stmt->bindParam(':email', $email); // 插入行 $firstname = "John"; $lastname = "Doe"; $email = "john@example.com"; $stmt->execute(); // 插入其他行 $firstname = "Mary"; $lastname = "Moe"; $email = "mary@example.com"; $stmt->execute(); // 插入其他行 $firstname = "Julie"; $lastname = "Dooley"; $email = "julie@example.com"; $stmt->execute(); echo "新记录插入成功"; } catch(PDOException $e) { echo $sql . "<br>" . $e->getMessage(); } $conn = null; ?>

读取数据

PDO
设置成关联数组

$result = $stmt->setFetchMode(PDO::FETCH_ASSOC);

遍历获取值 foreach(new TableRows(new RecursiveArrayIterator($stmt->fetchAll())) as $k=>$v) { echo $v; } $dsn = null;
mysqli
获取值 $result->num_rows 获取当前的行数遍历 while($row = $result->fetch_assoc()) { echo "<br> id: ". $row["id"]. " - Name: ". $row["firstname"]. " " . $row["lastname"]; } } else { echo "0 个结果"; }

到此基础部分已经结束,但是呢,我们的工作才刚刚开始,那么学完之后,我们需要做的事情是什么呢?

get,post 请求后台返回一个页面,获取参数 页面的文件上传功能 文件下载功能的实现 返回一个验证码功能 返回一个json 数据 设置session,设置cookie, 与redis 整合。 使用webservice 预定义的变量

转载于:https://www.cnblogs.com/enicz/p/6598666.html

相关资源:JAVA上百实例源码以及开源项目
最新回复(0)