在 PHP 中将数组元素移动到新索引

2023-12-29

我正在寻找一个简单的函数来将数组元素移动到数组中的新位置并对索引重新排序,以便序列中没有间隙。它不需要使用关联数组。有人对此有想法吗?

$a = array(
      0 => 'a',
      1 => 'c',
      2 => 'd',
      3 => 'b',
      4 => 'e',
);
print_r(moveElement(3,1))
//should output 
    [ 0 => 'a',
      1 => 'b',
      2 => 'c',
      3 => 'd',
      4 => 'e' ]

正如评论的那样,2xarray_splice,甚至不需要重新编号:

$array = [
    0 => 'a', 
    1 => 'c', 
    2 => 'd', 
    3 => 'b', 
    4 => 'e',
];

function moveElement(&$array, $a, $b) {
    $out = array_splice($array, $a, 1);
    array_splice($array, $b, 0, $out);
}

moveElement($array, 3, 1);

redzarf评论:“澄清$a is $fromIndex and $b is $toIndex"

Result:

[
    0 => 'a',
    1 => 'b',
    2 => 'c',
    3 => 'd',
    4 => 'e',
];
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 PHP 中将数组元素移动到新索引 的相关文章

  • Laravel Valet 不工作。 127.0.0.1 连接被拒绝

    试图让代客泊车设置正常工作 当访问 127 0 0 1 时 连接被拒绝 这是我在访问 dev 站点设置之一时收到的消息 我已经确保 apache 已停止 并且一直在谷歌上搜索所有地方 但无法找到解决方案 有没有人遇到过这个或对下一步尝试什么
  • 无需递归即可展平多个嵌套数组的数组 - javascript

    也许这是一个愚蠢的问题 但我无法意识到是否可以在不使用递归的情况下展平多维数组 我用递归编写了一种解决方案 function transform arr var result arr forEach flatten function fla
  • 如何使用 facebook 用户登录我的网站?

    我想知道 facebook 如何让用户登录我们的网站 我的意思是用户需要注册到我的网站才能发表评论 我如何通过我的 php 代码检查它是否是登录用户 我听说你只能用javascript检查它是否是登录用户 感谢您的任何解释 您可以使用脸书
  • localhost/test.php 不返回任何内容

    我正在遵循教程构建一个网络应用程序 我创建了一个简单的test php网络空间中的文件 var www html 问题是当我输入localhost test php在浏览器地址窗口中 它返回一个空页面 我试过localhost php in
  • 将 php filter_var 与 mysql_real_escape_string 结合使用

    我想首先说 我意识到 PDO mysqli 是新标准 并且已被 SO 广泛覆盖 然而 在这种特殊情况下 我没有时间在启动客户端站点之前将所有查询转换为 PDO 以下内容已在网站上的大多数查询中使用 我可以补充一下 这不是我所使用的 user
  • PHP exec rm -Rf 不适用于子目录

    我试图删除特定文件夹中的所有内容 但它似乎不会影响子文件夹 但它应该 因为 bash 命令是从控制台执行的 system rm Rf some dir 该命令中不需要星号 如果要与文件一起删除目录 请同时删除斜杠 留下斜杠将删除文件 但保留
  • PHP 时区问题 |英国夏令时和格林威治标准时间

    我开发了一个应用程序 它记录某些记录的修改和创建时间 所以基本上我们使用time 保存更改时进行记录的功能 我在英国 所以我的时区必须是 GMT 然而在英国 我们使用夏令时 所以在夏天我们不再使用格林尼治标准时间 而是使用英国夏令时 我如何
  • Graph API / FQL 不返回页面的所有事件

    脸书页面 http facebook com getwellgabby events http facebook com getwellgabby events 目前有 8 个活动 我能看到他们 非管理员可以看到它们并可以加入它们 但是 当
  • 防止重复数据输入mysql数据库

    我试图让我的电子邮件订阅服务拒绝数据库中已存在的电子邮件 这样用户就不会订阅同一封电子邮件两次 这就是我所拥有的 但它不起作用 有什么想法吗
  • 如何在 Laravel 5.3 中进行自定义身份验证

    我在 Laravel 5 3 自定义身份验证中遇到问题 希望在检查时使用我自己的函数或页面Auth check 它返回false 这是用户控制器 namespace App Http Controllers use App User use
  • AJAX VS PHP 动态网页?

    当您只能使用 php 来实现动态网页时 为什么要使用 AJAX 呢 使用 AJAX 的主要原因是用户体验 UX 现在 AJAX 不一定会改善每个实例的用户体验 所以在很多地方坚持使用纯 PHP 完全没问题 但想象一下这样的情况 网站上有一个
  • PHP 使用今天的日期生成一个随机数

    我正在尝试为内容块 在网页上 分配一个随机生成的数字 该数字基于今天的日期 无论是什么 和固定数字 由于某种原因 输出的数字种类存在巨大差异 例如 当我在本地测试我的代码时 生成的数字对我来说足够好 正数 但在实际的实时服务器上时 它们通常
  • Python 中 a -= b 和 a = a - b 之间的区别

    我最近申请了this https stackoverflow com questions 30379311 fast way to take average of every n rows in a npy array对矩阵的每 N 行进行
  • 数组到命名变量

    我该如何服用 userarray 这是一个数组 我知道它包含 3 个值 并将它们放入 3 个单独的变量中 而不是循环遍历 那里隔着 commas 所以爆炸会在某个地方发生 Say userfield1 userfield2 userfiel
  • 如何在按钮上执行mysql [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions PHP 单击按钮时如何执行 SQL
  • laravel 正则表达式验证不起作用

    我刚刚开始使用 laravel 正在努力验证我的表单之一中的文本区域 文本区域用于用户简介 因此我只想允许使用字母 数字 空格和以下字符 这就是我所拥有的 validator Validator make Input all array b
  • Laravel Redis 配置

    我目前正在使用 Laravel 和 Redis 创建一个应用程序 几乎一切都工作正常 我按照文档中的说明扩展了身份验证 用户可以订阅 登录 注销 我可以创建内容 所有内容都存储在 Redis 中 但我有一个问题 我无法运行 php arti
  • 显示带有 id 的内部连接的名称[重复]

    这个问题在这里已经有答案了 我有这个查询 select from countrysegments inner join country on countrysegments country id country id inner join
  • 如何通过在切片上查找来从切片复制到数组

    我正在编写一个库来处理二进制格式 我有一个带有数组变量的结构 我想保留它以用于文档目的 我还需要从输入字节片中查找和判断 一些伪代码 type foo struct boo 5 byte coo 3 byte func main input
  • CodeIgniter加入选择为

    我的数据库中有 2 个表需要加入 一张表是 artikelen 表 另一张表是 Collections 表 我目前有 this gt db gt select this gt db gt from collecties this gt db

随机推荐

  • 如何从sqlx获取最后插入行的id?

    我想使用以下命令取回插入 MySql 数据库的最后一篇文章的 idsqlx resultPost err shared Dbmap Exec INSERT INTO post user id description link VALUES
  • Java:log4j 初始化错误

    我是 log4j 包的新手 但没有看到错误 这是一个非常简单明了的代码示例 import org apache logging log4j LogManager import org apache logging log4j Logger
  • 包含每个标头是否会对性能产生影响?

    可以说我想使用hex 功能 我知道它是定义在
  • npm iOS-deploy 安装问题

    npm WARN 生命周期 电子邮件受保护 cdn cgi l email protection 预安装 无法在 wd s s 中运行 wd s 电子邮件受保护 cdn cgi l email protection src scripts
  • Environment.CurrentDirectory 和 Directory.GetCurrentDirectory 之间有什么区别?

    在 NET 中 以下之间有什么区别 Environment CurrentDirectory Directory GetCurrentDirectory 当然 Environment CurrentDirectory是可以设置和获取的属性
  • 数组中的总和和“未定义的索引”

    我想在我的数组中求和
  • 将字符矩阵转换为数字矩阵

    我有一个 7 x 31 字符矩阵 称为extra4它的结构如下所示 gt str extra4 chr 1 7 1 31 36 88 45 48 52 46 111 31 138 45 121 09 122 62 attr dimnames
  • sql超时已过期

    日志记录 System Data SqlClient SqlException 超时已过期 这 操作完成之前超时时间已过或 服务器没有响应 我是一个初学者 当我在应用程序日志文件中看到上述错误时 这是 我看到的最常见的错误 而且每天都会重复
  • ASP.NET Web API 的 JWT 身份验证

    我试图在我的 Web API 应用程序中支持 JWT 不记名令牌 JSON Web 令牌 但我迷路了 我看到对 NET Core 和 OWIN 应用程序的支持 我目前在 IIS 中托管我的应用程序 如何在我的应用程序中实现此身份验证模块 有
  • 仅获取电子邮件文本的可靠方法,不包括以前的电子邮件

    我正在创建一个基本系统 允许用户通过电子邮件回复网站上的帖子 但是 大多数电子邮件客户端在回复电子邮件中包含之前电子邮件的文本 该文本在网站上是不需要的 有没有一种可靠的方法可以让我在不事先了解早期电子邮件的情况下仅提取新邮件 我正在使用e
  • 识别隐式强制转换和显式强制转换[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 如果有人能回答我的问题 我将不胜感激
  • 如何在 Spring Boot 测试中设置“headless”属性?

    我正在使用 Spring Boot 和 JavaFX 进行测试 基于一些优秀的 YouTube 视频 https www youtube com watch v hjeSOxi3uPg这解释了这一点 为了使其与TestFX https gi
  • Angular.js 子目录中的路由

    是否可以以从部署该应用程序的 Web 目录路径中抽象的方式来开发 Angular js 应用程序 我正在尝试将 Angular js 应用程序放入 Web 服务器子目录中http example com myproject http exa
  • Firestore ID 在整个数据库中是否唯一[重复]

    这个问题在这里已经有答案了 我的意思是 如果我们从所有集合和子集合等中收集所有 id 自动生成 它们都是唯一的吗 做什么的 我正在构建一个新功能 用户可以在其中共享子集合中的项目 所以我不确定 我可以在用户子集合之间使用相同的 id 吗 T
  • Laravel 雄辩关系:->latest()

    laravel中latest 的作用是什么 Example public function activity return this gt hasMany App Activity gt with user subject gt lates
  • 如何强制 PHP 使用字符串作为数组键? [复制]

    这个问题在这里已经有答案了 我遇到过一个旧应用程序 它使用 id 来命名类型数组 例如 array 1 280 gt string 3 abc 现在我需要重新排序这些 并且var dump 当键是整数时 这看起来不会发生 如果我添加一个a对
  • 使用 AcquireTokenSilent 刷新 access_token

    我有一个 asp net core MVC 应用程序 它将 access token 传递给下游 API 经过一番努力 我弄清楚了如何使用 MSAL Net 获取 access token 但访问令牌每小时都会过期 因此我必须刷新它 所以我
  • 如何从 Swift 中的 void 闭包返回值?

    我有一个函数可以查询某个用户以访问该用户的数组 我返回用户并且可以访问他们的数组 但是 该调用是异步的 返回的值为零 该函数总体上有一个完成处理程序 但是 内部有一个查询调用 并且默认情况下该查询返回 Void func getAllMat
  • Python在类中调用方法

    我在这里的表现远远超出了我的承受能力 但请耐心等待这位 Python 业余爱好者 我是一名 PHP 开发人员 之前几乎没有接触过这种语言 我想做的是调用类中的方法 听起来很简单吗 我完全困惑于 self 指的是什么 以及在类内部和类外部调用
  • 在 PHP 中将数组元素移动到新索引

    我正在寻找一个简单的函数来将数组元素移动到数组中的新位置并对索引重新排序 以便序列中没有间隙 它不需要使用关联数组 有人对此有想法吗 a array 0 gt a 1 gt c 2 gt d 3 gt b 4 gt e print r mo