global 关键字;
```php
$a = 1;
$b = 2;
$c;
function sum() {
global $a, $b, $c;
$c = $a + $b;
}
sum();
echo $c;
```
运行结果:
3
Static 变量名;
来声明变量
```php
function num() {
static $a = 1;
echo $a;
echo '5
输出结果: int(1) float(1.234) string(5) "wdnmd" bool(true) array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3) } NULL
在比较的时候就分了两种比较类型
==
===
1 0
define(常量名, 常量值)
define("a", "hello");
echo a;
输出结果:
hello
自动转换
系统自己判定转换需要的类型
$a = 111;
$b = '111abc';
echo $a + $b;
结果:222
手动强制转换
强制转换类型
$c = 'abc123';
$d = '123abc';
echo '<br />', (int)$c, '<br />', (int)$d;
结果: 0 123
要点
类型判断函数
is_xxx
,用于判断指定数据类型是否相同,并返回true或false
$a = 'wdnmd';
var_dump(is_int($a), is_string($a));
结果: bool(false) bool(true)
bool类型不能用echo去查看,可以使用var_dump查看
获取数据类型
gettype(数据名)
$a = '1.1abc';
echo gettype($a);
结果: string
改变数据类型
settype(数据名)
$a = '1.1abc';
echo settype($a, 'int');
结果: 1
include && require
引入其他php文件,区别在于include出现报错不影响代码继续执行,require则相反的遇到报错直接终止
file_get_contents() 把整个文件读入一个字符串中。
echo file_get_contents("test.txt");
PHP json_decode() 函数用于对 JSON 格式的字符串进行解码,并转换为 PHP 变量。
$变量 = json_decode(Json数据, true);
parse_ini_file() 函数解析一个配置文件(ini 文件),并以数组的形式返回其中的设置。 第二个参数为true就是多维数组
$变量 = parse_ini_file("文件位置", true);
strrpos(); 获取指定字符的位置
$str = "wdwafu%dwajdi";
echo strrpos($str, '%');
结果:6
substr(); 截取指定位置字符串
echo substr('abcdef', 1); //输出 bcdef
echo substr('abcdef', 1, 2); //输出 bc
echo substr('abcdef', -3, 2); //输出 de
echo substr('abcdef', 1, -2); //输出 bcd
PHP 数据对象 (PDO) 扩展为PHP访问数据库定义了一个轻量级的一致接口。
class db
{
// 连接地址
public $host = "mysql:host=localhost;dbname=test;";
// 账号
public $name = "root";
// 密码
public $password = "20181119";
// 数据库实例
public $pdo;
/**
* 连接
* db constructor.
*/
public function __construct() {
try {
$this->pdo = new PDO($this->host, $this->name, $this->password);
} catch (PDOException $e) {
echo $e;
die();
}
}
/**
* 查询
* @param $sql
* @return array|false|PDOStatement|null
*/
public function select($sql) {
$res = $this->pdo->query($sql);
if(!$res) {
return $res;
}
return $res->fetchAll(PDO::FETCH_ASSOC);
}
/**
* 增删改
* @param $sql
* @return bool
*/
public function exc($sql) {
$res = $this->pdo->exec($sql);
if ($res == 0) {
return false;
}
return true;
}
}
新建一个mysqli对象并存储数据库地址、用户名、密码、数据库名
的信息;
使用if判断连接过程是否存在错误,同等于执行连接操作
$servername = "localhost";
$username = "username";
$password = "password";
// 创建连接
$conn = new mysqli($servername, $username, $password);
// 检测连接
if ($conn -> connect_error)
{
die("连接失败: " . mysqli_connect_error());
}
else
{
echo "连接成功";
}
//关闭连接
mysqli_close($conn);
连接信息需指定数据库名称! 执行query方法并判断是否执行成功
$conn = new mysqli(地址,用户名,密码,数据库名);
$sql = "create table lovexhj(
id int primary key,
name varchar(30) not null,
age int not null
)";
if($conn -> query($sql) === true)
{
echo "<br />" . "数据表创建成功!";
}
else
{
echo "<br />" . "错误!" . $conn -> error;
}
$sql = "create table lovexhj(
id int primary key,
name varchar(30) not null,
age int not null
)";
if($conn -> query($sql) === true)
{
echo "<br />" . "数据表创建成功!";
}
else
{
echo "<br />" . "错误!" . $conn -> error;
}
使用multi_query(语句);这个方法即可执行里面的多条语句并判断是否成功
$sql = "insert lovexhj(id, name, age) values(2, '闸总', 18);";
$sql .= "insert lovexhj(id, name, age) values(3, '闸总', 18);";
$sql .= "insert lovexhj(id, name, age) values(4, '闸总', 18);";
if($conn -> multi_query($sql) === true)
{
echo "<br />" . "数据插入成功!";
}
else
{
echo "<br />" . "错误!" . $conn -> error;
}
先使用prepare方法将语句传递到数据库但不执行,然后使用bind_param来绑定需要的参数对应的类型 可用类型为:
//预处理语句
$sql = $conn -> prepare("insert lovexhj values(?, ?, ?);");
$sql -> bind_param("isi", $a, $b, $c);
//设置参数
$a = "1";
$b = "wdnmd1";
$c = "18";
//执行
$sql -> execute();
$a = "2";
$b = "wdnmd2";
$c = "18";
$sql -> execute();
$a = "3";
$b = "wdnmd3";
$c = "18";
$sql -> execute();
echo "<br />插入成功!";
//关闭
$sql -> close();
使用query方法将查询结果保存到变量里面,判断变量是否存在行数,最后通过fetch_assoc循环取出数据并输出
$sql = "select * from lovexhj;";
$result = $conn -> query($sql);
if($result -> num_rows > 0)
{
while($row = $result -> fetch_assoc())
{
echo "ID:" . $row["id"] . " - " . "Name:" . $row["name"] . " - " . "age:" . $row["age"] . "<br>";
}
}
else
{
echo "没有数据";
}
setcookie(name, value, time)
// 设置 cookie
setcookie("test", "Test");
// 设置一小时内的 cookie
setcookie("test", "Test", time() + 3600);
// 存入数组
$arr = ["123", "456"];
setcookie("arr", serialize($arr));
// 取出数据
var_dump(unserialize($_COOKIE("arr")));
spl_autoload_register 是一个实现**自动加载类的函数,自动加载类
**就是我们在 new 一个 class 的时候,不需要手动去写require来导入这个class.php文件,程序自动帮我们加载导入进来
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。