批改状态:合格
老师批语:
key():打印数组之中第一个成员的键名
$arr = ['id'=>1,'name'=>'gggggg','email'=>'15845457854@gmail,com'];// 打印数组成员的键名:echo key( $arr);// 输出: id
next():将数组的下标移动到下一位。
reset()
$arr = ['id'=>1,'name'=>'gggggg','email'=>'15845457854@gmail,com'];// 打印数组成员的键名:echo key( $arr);next($arr); //下标移至下一位echo '<hr>';echo key($arr);echo '<hr>';reset($arr); //重置下标恢复到第一位echo key($arr);

array_keys()
$arr = ['id'=>1,'name'=>'gggggg','email'=>'15845457854@gmail,com'];print_r(array_keys($arr));// 返回值:Array ( [0] => id [1] => name [2] => email )
array_values()(不包括键名),新数组的键名从 0=>1 开始递增
$arr = ['id'=>1,'name'=>'gggggg','email'=>'15845457854@gmail,com'];print_r(array_values($arr);)
array_search()语法:
array_search("要查询的值",被查询的数组)
$arr = ['id'=>1,'name'=>'gggggg','email'=>'15845457854@gmail,com'];print_r(array_search("ggg",$arr));

array_anique()
$arr = [1,2,3,4,5,1,1,1,2,3,2,5,5,5,4,4,3,3,2,1];print_r(array_unique($arr));

array_sum()array_product()返回的值是根据数组成员的类型来改变的,如果全部都为整型,最后返回的一定是
int,但是只要有一个是浮点float最后返回的值得类型就一定是float;
$arr = [1,2,3,4,5,6,7,8,9];print_r(array_sum($arr));echo "<hr>";print_r(array_product($arr));

array_slice():从数组之中删除【取出】一部分元素,并返回语法:
array_slice(数组,开始删除[取出]的位置,取出的长度)
$stu = ['id'=>101,'name'=>'张无忌','age'=>20,'course'=>'php'];print_r(array_slice($stu,-3,2));

array_splice():对数组成员增删改
array_splice()是针对原数组直接操作的函数,所有操作都会影响到原来的数组
语法:array_splice(数组,开始位置,长度,要插入的数组[可选])
删除替换增加都是从开始位置参数开始设置的
删除:开始位置不为 0,长度不为 0
替换:开始位置不为 0,长度为想要替换的个数,替换的数组
增加:长度为 0,当长度不为 0 时,先删除符合长度的数组成员再插入新成员
$arr = [1,2,3,4,5,6,7,8,9];// 删除print_r(array_splice($arr,2,3));echo "<hr>";print_r($arr);echo "<hr>";// 替换$place = [888,999,1111];print_r(array_splice($arr,2,3,[888,999,1111]));echo "<hr>";print_r($arr);// 增加$arr1 = [1,2,3,4,5];echo "<hr>";print_r(array_splice($arr1,2,0,$place));echo "<hr>";print_r($arr1);

extract():将关联数组拆分为变量
$config = ['type'=>'mysql','host'=>'localhost','dbname'=>'phpedu','charset'=>'utf=8'];extract($config); //拆分成为普通变量echo $type."<br>".$host."<br>".$dbname."<br>".$charset;

compact():将一组变量合并为关联数组
$name = "ggg";$age = 19;$gender = "male";$res = compact('name','age','gender');print_r($res);

栈于队列的特点:
LIFO(last in first out:后进先出)–栈这家伙的特点 ?
FIFO(fist in first out:先进先出)–队列这家伙的特点 ?
PHP 中 ,栈与队列是一种特殊的线性表,都是只能在一端操作:头部、尾部
同时栈于队列还会提及一个“入栈/队”,“出栈/队”的操作。并且都是从一端进行的。
在头部:array_push()是向尾部添加数据,array_pop()是向尾部弹出数据
在尾部:array_unshift()是向头部添加数据,array_shift()是从头部弹出数据
首先我们来说一下队列的入队和出队的顺序:FIFOFirst Input First Outpu就是先进来的数据先出队
其次来说一下队列之中出队和入队的方向。
队列必须设置入队和出队的顺序
在队列之中,可以通过搭配push/pop和shift/unshift来设置入队和出队的方向。
下面举个例子:
后入先出:
我们可以这样理解,栈的数据读取有两个操作:分别是存和取,但是如何判断哪些是先进来的数据哪些是后进来的数据,我们可以通过一个例子来说明:
对于存放数据:我们可以理解为存盘子【装菜的盘子】,先拿过来的是不是就会放在最底部,后拿过来的盘子是不是就放置最上面?
所以我们可以画出一张这样的草图:
这样一来是不是就很清楚了,分清楚顺序之后就可以用代码来举例子:
$arr = [1,2,3];// 先来看下原数组print_r($arr);echo "<hr>";// 栈的数据出入顺序:后进先出// 添加数据: pop || pusharray_push($arr,4);array_push($arr,5,6,7);print_r($arr);echo "<hr>";echo "后进来的数据是在最底部的,所以后进来的先出去:"."<br>";echo "<hr>";// 弹出数据array_pop($arr);print_r($arr);echo "<hr>";array_pop($arr);print_r($arr);echo "<hr>";array_pop($arr);print_r($arr);echo "<hr>";array_pop($arr);print_r($arr);echo "<hr>";// 再来看另外一组函数实现栈于队列的入栈和出栈// unshift || shift$arr1 = ['a','b','c'];print_r($arr1);echo "<hr>";// 添加数据:echo "此时添加进来的数据是最后添加进来的,但是是在头部添加,所以c是最先进来的,因为是在最底层"."<br>";array_unshift($arr1,'d');print_r($arr1);echo "<hr>";array_unshift($arr1,'e','f','g');print_r($arr1);echo "<hr>";// 弹出数据:echo "最后进来的最先出去,所以,最后进来的是在最上面,于是弹出:"."<br>";array_shift($arr1);print_r($arr1);echo "<hr>";array_shift($arr1);print_r($arr1);echo "<hr>";array_shift($arr1);print_r($arr1);echo "<hr>";

由于队列是我们规定从那边进对,那边出队,所以我们可以把队列想象成为一个通道【地铁】
于是先进先出的顺序我们就好理解了。
可以通过举一个例子:汽车过隧道,我们是不是只能挨个进挨个出,必须按顺序来,所以最先进入隧道的汽车就最先出去。
再来看下面一幅图加深理解
于是我们就可以通过代码来判断那些数据是先进来的:
$arr = [1,2,3];// 先来看下原数组print_r($arr);echo "<hr>";// 队列的顺序:先进先出// 1. 尾部进,头部出// 添加数据:echo "通过push向尾部添加数据"."<br>";array_push($arr,4);print_r($arr);echo "<hr>";array_push($arr,5,6,7);print_r($arr);echo "<hr>";// 弹出数据:echo "通过shift从头部弹出数据"."<br>";array_shift($arr);print_r($arr);echo "<hr>";array_shift($arr);print_r($arr);echo "<hr>";array_shift($arr);print_r($arr);echo "<hr>";// 2.头部进,尾部出// unshift + pop......

PDO 是什么:(PHP Data Objects)是一种在 PHP 里连接数据库的使用接口。PDO 与 mysqli 曾经被建议用来取代原本 PHP 在用的 mysql 相关函数,基于数据库使用的安全性,因为后者欠缺对于 SQL 注入的防护。
PDO 三要素:DSN数据源usernamepassword
初入就不细说了,使用案例带过吧,后续会继续更新 PDO 相关文章的
服务端:
namespace pdo_edu;return ['type' => $type ?? 'mysql','host' => $host ?? 'localhost','dbname' => $dbname ?? 'lv','port' => $port ?? '3306','charset' => $charset ?? 'utf8','username' => $username ?? 'root','password' => $password ?? 'zhoujielun521'];
拿取数据:
namespace pdo_edu;$config = require __DIR__ . '/../config/database.php';use PDO;//PDO数据连接~三要素 DSN数据源 username password,// extract()$type = $config['type'];$host = $config['host'];$dbname = $config['dbname'];$username = $config['username'];$password = $config['password'];$dsn = sprintf('%s:host=%s;dbname=%s',$type,$host,$dbname);try {$pdo = new PDO($dsn,$username ,$password);// var_dump($pdo);} catch(\Exception $e) {die($e->getMessage());}
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号