agrandesr/arrays

这是一个基本的库,旨在帮助代码开发中的数组操作。

v1.1.1 2022-09-18 13:21 UTC

This package is auto-updated.

Last update: 2024-09-27 15:42:38 UTC


README

Arrays 是一个 composer 库,旨在简化数组操作的某些动作。

如何开始 🚀

按照以下步骤使用 Arrays,您会发现它非常容易使用。

先决条件 📋

您需要在您的计算机上安装 php 和 composer。

安装 🔧

您需要将包要求到您的项目中。

composer require agrandesr/arrays

接下来,您可以在代码中使用它。我们鼓励您在根文件 index.php 中使用它。在自动加载要求下编写非常重要。

<?php

use Agrandesr\Utils\Arrays;

$array=['lvl1'=>['lvl2'=>'lvl3'=>'content'];

$data = Arrays::pathGet('lvl1.lvl2.lvl3',$array);

echo $data;

结果将是

有一个简单的示例可以测试!

content

正如您所看到的,将 Arrays 添加到您的项目中非常简单。在 文档 部分中,您将能够看到实用组件的功能及其用法。

文档

Arrays 的所有函数都是静态的。现在您可以查看每个函数,如何使用以及它的用途。

未来,我将尝试制作一个简单的视频教程,以简化使用此库的第一步。

pathSet()

此函数允许我们使用路径路由将值更新到数组中。Arrays 函数的默认值分隔符是点 (.),但您可以使用 setPathSeparator() 方法更改此分隔符,您可以在本文档中查看它。使用此函数,当您想要更新大型的多维数组中唯一的字段时,可以节省时间。

参数

  • path:这是从数组的根到我们想要更新或插入的特定值的路径。[字符串]
  • value:这是要更新或插入到数组路径位置的值。[混合]
  • receivedArray:这是将要用来插入值的模型数组。[数组]
  • byReference:指示我们是否要修改原始数组,还是仅返回修改后的副本。[布尔][默认:true]

返回

  • array:是在 receivedArray 中设置的修改后的值或包含更新内容的副本。

示例

$test=[];
echo json_encode(Arrays::pathSet('lvl1.lvl2.lvl3','test',$test));
//Output: {'lvl1':{'lvl2':{'lvl3':'test'}}}

正如您所看到的,所有路由都已创建。在这种情况下,直接操作更好,但在不知道路径是否存在的循环中,这非常有用,可以避免与数组偏移相关的问题。

$test=[
    'lvl1'=>[
        'lvl2'=>''
    ],
    '1lvl'=>[
        '2lvl'=>[1,2,3]
    ]
];
echo json_encode(Arrays::pathSet('lvl1.lvl2.lvl3','test',$test));
/*
//Output:
{
    "lvl1":{
        "lvl2":{
            "lvl3":"test"
        }
    },
    "1lvl":{
        "2lvl":[1,2,3]
    }
}
*/

您还可以更改具有内容数组的值。

pathGet()

此函数允许我们使用路径路由从数组中获取值。Arrays 函数的默认值分隔符是点 (.),但您可以使用 setPathSeparator() 方法更改此分隔符,您可以在本文档中查看它。使用此函数,当您想要在循环或您不确定是否存在和多维数组深度的函数中获取数组时,可以节省时间。

参数

  • path:这是从数组的根到我们想要读取的特定值的路径。[字符串]
  • receivedArray:这是将要用来获取值的模型数组。[数组]

返回

  • value:是数组内的值。如果不存在,则为 null。

示例

$test=[
    'lvl1'=>[
        'lvl2'=>''
    ],
    '1lvl'=>[
        '2lvl'=>[1,2,3]
    ]
];
echo Arrays::pathGet('1lvl.2lvl.1',$test);
//Output: 2

setUnidimensional()

此函数将具有路径键的多维数组转换为具有路径的单维数组。您可以为键路径添加前缀。

参数

  • mdArray:这是我们要将其转换为单维数组的具有路径键的多维数组。[数组]
  • byReference:指示您是否想更改原始数组。[字符串]
  • byReference:这用于在新的数组路径键前添加一个前缀(例如 "PREFIX.id.property.name")。[字符串]

返回

  • value:新的单维数组。

setMultidimensional()

该函数将具有路径键的单维数组转换为多维数组。这是 setUnidimensional 函数的逆操作。

参数

  • udArray:这是我们想要转换为多维数组的具有路径键的单维数组。[数组]
  • byReference:指示您是否想更改原始数组。[字符串]

返回

  • value:新的多维数组。

示例

$test=[
    'lvl1'=>[
        'lvl2'=>''
    ],
    '1lvl'=>[
        '2lvl'=>[1,2,3]
    ]
];
echo Arrays::pathGet('1lvl.2lvl.1',$test);
//Output: 2

附加信息

版本控制:📌

查看所有可用版本,请参阅此仓库的 标签

作者 ✒️

您还可以查看所有[贡献者]的列表(https://github.com/your/project/contributors),他们参与了此项目。

许可证 📄

此项目受 MIT 许可证保护 - 有关详细信息,请参阅文件 LICENSE.md

感谢:🎁