thinkphp5中vendor的使用?
1.创建处理数组的类ArrayList.php
<?php /**
* ArrayList实现类
* @author liu21st <liu21st@gmail.com>
*/
class ArrayList implements \IteratorAggregate
{
/**
* 集合元素
* @var array
* @access protected
*/
protected $elements = []; /**
* 架构函数
* @access public
* @param string $elements 初始化数组元素
*/
public function __construct($elements = [])
{
if (!empty($elements)) {
$this->elements = $elements;
}
} /**
* 若要获得迭代因子,通过getIterator方法实现
* @access public
* @return ArrayObject
*/
public function getIterator()
{
return new \ArrayObject($this->elements);
} /**
* 增加元素
* @access public
* @param mixed $element 要添加的元素
* @return boolean
*/
public function add($element)
{
return (array_push($this->elements, $element)) ? true : false;
} // 在数组开头插入一个单元
public function unshift($element)
{
return (array_unshift($this->elements, $element)) ? true : false;
} // 将数组最后一个单元弹出(出栈)
public function pop()
{
return array_pop($this->elements);
} /**
* 增加元素列表
* @access public
* @param ArrayList $list 元素列表
* @return boolean
*/
public function addAll($list)
{
$before = $this->size();
foreach ($list as $element) {
$this->add($element);
}
$after = $this->size();
return ($before < $after);
} /**
* 清除所有元素
* @access public
*/
public function clear()
{
$this->elements = [];
} /**
* 是否包含某个元素
* @access public
* @param mixed $element 查找元素
* @return string
*/
public function contains($element)
{
return (array_search($element, $this->elements) !== false);
} /**
* 根据索引取得元素
* @access public
* @param integer $index 索引
* @return mixed
*/
public function get($index)
{
return $this->elements[$index];
} /**
* 查找匹配元素,并返回第一个元素所在位置
* 注意 可能存在0的索引位置 因此要用===False来判断查找失败
* @access public
* @param mixed $element 查找元素
* @return integer
*/
public function indexOf($element)
{
return array_search($element, $this->elements);
} /**
* 判断元素是否为空
* @access public
* @return boolean
*/
public function isEmpty()
{
return empty($this->elements);
} /**
* 最后一个匹配的元素位置
* @access public
* @param mixed $element 查找元素
* @return integer
*/
public function lastIndexOf($element)
{
for ($i = (count($this->elements) - 1); $i > 0; $i--) {
if ($this->get($i) == $element) {
return $i;
}
}
} public function toJson()
{
return json_encode($this->elements);
} /**
* 根据索引移除元素
* 返回被移除的元素
* @access public
* @param integer $index 索引
* @return mixed
*/
public function remove($index)
{
$element = $this->get($index);
if (!is_null($element)) {
array_splice($this->elements, $index, 1);
}
return $element;
} /**
* 移出一定范围的数组列表
* @access public
* @param integer $offset 开始移除位置
* @param integer $length 移除长度
*/
public function removeRange($offset, $length)
{
array_splice($this->elements, $offset, $length);
} /**
* 移出重复的值
* @access public
*/
public function unique()
{
$this->elements = array_unique($this->elements);
} /**
* 取出一定范围的数组列表
* @access public
* @param integer $offset 开始位置
* @param integer $length 长度
*/
public function range($offset, $length = null)
{
return array_slice($this->elements, $offset, $length);
} /**
* 设置列表元素
* 返回修改之前的值
* @access public
* @param integer $index 索引
* @param mixed $element 元素
* @return mixed
*/
public function set($index, $element)
{
$previous = $this->get($index);
$this->elements[$index] = $element;
return $previous;
} /**
* 获取列表长度
* @access public
* @return integer
*/
public function size()
{
return count($this->elements);
} /**
* 转换成数组
* @access public
* @return array
*/
public function toArray()
{
return $this->elements;
} // 列表排序
public function ksort()
{
ksort($this->elements);
} // 列表排序
public function asort()
{
asort($this->elements);
} // 逆向排序
public function rsort()
{
rsort($this->elements);
} // 自然排序
public function natsort()
{
natsort($this->elements);
} }
2.将ArrayList.php放到项目根目录下的extend文件夹下的shuzu文件夹下
3.在测试文件中写入测试代码
4.浏览器打开测试页面展示
thinkphp5中vendor的使用?的更多相关文章
- thinkphp5中使用PHPExcel(转载)
thinkphp5中可以使用composer来获取第三方类库,使用起来特别方便,例如:可是使用composer下载PHPMailer,think-captcha(验证码)等等…… 接下来说一下怎么使用 ...
- thinkphp5中的一些关于命名空间的tisp
1.thinkphp5中公共函数文件common中,不需要use,也可以直接使用vendor中的类文件. 2.在类前面的反斜杠作用是,直接使用最外层的命名空间,有时不想use某个X类,却想使用X类时, ...
- thinkphp5中使用phpmailer实现发送邮件功能(转载)
一.开启SMTP服务(使用php发送邮件需要用到SMTP服务,这里以163邮箱的SMTP服务为例). 1.登录163邮箱,在首页上找到“设置”. 2.选择开启的服务,一般都全选,POP3/SMTP/I ...
- thinkphp5中如何使用 usort
thinkphp5中如何使用 usort 一.总结 一句话总结:其实比较函数加上命名空间就好啦,不然找不到 比较函数加命名空间 数组做usort的第二个参数 usort($question_list, ...
- thinkphp5中的配置如何使用
thinkphp5中的配置如何使用 一.总结 一句话总结:先加载配置,然后读取配置即可 加载配置 读取配置 Config::load(APP_PATH.'fry_config.php');\\加载配置 ...
- ThinkPHP5中find()和select()区别
ThinkPHP5中find()和select()区别 读取数据是指读取数据表中的一行数据(或者关联数据),主要通过find方法完成,例如: 1 2 3 4 $User = M("User& ...
- ThinkPHP5中如何实现模板完全静态化
模板完全静态化,也就是通过模板完全生成纯静态的网页,相比动态页面和伪静态页面更安全更利于SEO访问更快.相比前二者各有利弊吧,现在稍微对这三种形式的优缺点对比一下,以及在ThinkPHP5项目中实现完 ...
- ThinkPHP5中模型关联关系一对一,一对多
TP5 返回json反斜杠前面转义了class XinDai extends Controller{ public function index(){ $res = [ ['logo'=>'/i ...
- thinkphp5中使用phpmailer实现发送邮件功能
一.开启SMTP服务(使用php发送邮件需要用到SMTP服务,这里以163邮箱的SMTP服务为例). 1.登录163邮箱,在首页上找到“设置”. 2.选择开启的服务,一般都全选,POP3/SMTP/I ...
随机推荐
- SLC-测试-Postman:Postman 工具
ylbtech-SLC-测试-Postman:Postman 工具 1.返回顶部 1. 一.Request 请求 Request 请求,我们只介绍常用的四种:GET.POST.PUT.DELETE,其 ...
- UI:数据的解析XML与JSON
XML 和 JSON 语言 本篇博客来自互联网参考 XML 和 JSON 的互相转化 有属性的转化为对象,无属性的转化为字符串 节点的顺序性不可逆,XML有顺序,JSON 无顺序 XML 和 J ...
- LayUI table表格控件 如何显示 对象中的属性(针对Mybatis的级联查询--一对一情况)
1.entity如下: 2.Mybatis的Mapper.xml文件如下 <resultMap id="BaseResultMapPlus" type="dicIt ...
- ThinkPHP3.2.3学习笔记4---统计ThinkPHP3.2.3加载的文件
将ThinkPHP3.2.3的入口文件index.php加入一个函数getIncludeFiles,文件内容变成如下所示: <?php // +------------------------- ...
- bzoj 4814: [Cqoi2017]小Q的草稿【计算几何】
//先打个50暴力,10min50分简直美滋滋~ #include<iostream> #include<cstdio> #include<algorithm> u ...
- Luogu P1140 相似基因 【dp】By cellur925
最近博客更不起来...然后又(照例)犯鼻炎了唉难受. 题目传送门 我们首先可以预处理碱基间的权值表.然后讲读入的碱基转化为数字,就变成了“数字匹配使权值最大”的问题.我们显然可以用动态规划解决. 两个 ...
- python爬虫爬取汽车页面信息,并附带分析(静态爬虫)
环境: windows,python3.4 参考链接: https://blog.csdn.net/weixin_36604953/article/details/78156605 代码:(亲测可以运 ...
- Python上下文管理器(Context managers)
上下文管理器(Context managers) 上下文管理器允许你在有需要的时候,精确地分配和释放资源. 使用上下文管理器最广泛的案例就是with语句了.想象下你有两个需要结对执行的相关操作,然后还 ...
- Hdu 5371 Hotaru's problem (manacher+枚举)
题目链接: Hdu 5371 Hotaru's problem 题目描述: 给出一个字符串N,要求找出一条N的最长连续子串.这个子串要满足:1:可以平均分成三段,2:第一段和第三段相等,3:第一段和第 ...
- Stamps ans Envelope Sive UVA - 242
( ||{集合x}表示x中元素1||x中元素2||...||x的最后一个元素||(a,b)表示a||b) ans[i][j][k]表示考虑前i种邮票时取j个邮票能否得到面值kans[i][j][k]= ...