按索引偶数或奇数将数组拆分为两个数组

2024-05-27

我有这个数组:

$array = array(a, b, c, d, e, f, g);

我想根据索引是偶数还是奇数将其分成两个数组,如下所示:

$odd = array(a, c, e, g);

$even = array(b, d, f);

提前致谢!


一种解决方案,使用匿名函数和array_walk http://php.net/manual/en/function.array-walk.php:

$odd = array();
$even = array();
$both = array(&$even, &$odd);
array_walk($array, function($v, $k) use ($both) { $both[$k % 2][] = $v; });

这只需一次遍历数组即可将项目分开,但这有点“聪明”。它实际上并不比经典的、更冗长的更好

$odd = array();
$even = array();
foreach ($array as $k => $v) {
    if ($k % 2 == 0) {
        $even[] = $v;
    }
    else {
        $odd[] = $v;
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

按索引偶数或奇数将数组拆分为两个数组 的相关文章

随机推荐

  • 我可以双击 tkinter 列表框选项来调用 Python 中的函数吗?

    我有一个带有关联的 选择 按钮的列表框 我希望我的 GUI 能够双击任何列表框值来调用此按钮的命令 当选择一个选项并且用户双击窗口中的任何位置时 我的尝试 如下 有效 我希望它仅在双击选择本身 蓝色突出显示的行 时才起作用 做这个的最好方式
  • Pyspark - 根据条件重置累积和列

    我有以下数据框 id date reset cumsum 1001 2023 04 01 false 0 1001 2023 04 02 false 0 1001 2023 04 03 false 1 1001 2023 04 04 fal
  • 如何找到数组中存在的项目的长度/数量? [复制]

    这个问题在这里已经有答案了 可能的重复 函数参数中数组的长度 https stackoverflow com questions 8269048 length of array in function argument 我的数组大小是 5
  • MySQL - 重命名列

    如何重命名 mysql 列help to content在我的桌子上tbl help mysql query ALTER TABLE tbl help CHANGE COLUMN help content 您必须在更改列语句中包含列的定义
  • 关闭后如果日志文件为空,则删除日志文件

    我有一个库函数 可以启动通用后台进程并记录它 def LaunchAndLog cmd cmd args cmd split Split arguments into array logfile cmd args 0 log with op
  • 在 Windows Phone 8 中以编程方式下载媒体文件

    我们的应用程序是基于视频 音频的应用程序 我们已将所有媒体上传到 Windows Azure 上 但需要方便用户点播下载音视频文件 以便在本地播放 所以我需要以编程方式下载音频 视频文件并将其保存在IsolatedStorage中 我们有每
  • 在 Play Services 8.3 中的新 Google 登录中获取人员详细信息

    我正在尝试使用 Play Services 8 3 中引入的新 Google Sign In API 获取用户的个人资料 除了显示名称 电子邮件和 ID 之外 我还需要用户的性别 Plus PeopleApi getCurrentPerso
  • 关于 C++ 中的 STL 容器的问题

    std multimap 和 std unordered multimap 多久洗一次条目 我这么问是因为我的代码传递引用来区分具有相同哈希的条目 并且我想知道何时对它们运行引用重定向功能 如果我这样做会发生什么 std multimap
  • R Markdown / Bookdown 中的水平规则导致错误

    突然 我在 Markdown Bookdown 中编织为 PDF 时遇到错误 我的系统没有任何变化 该错误是由 水平规则 引起的 即 Markdown 中的任意位置 或 尽管两侧都有行空格 我提供了一个简单的违规示例 它不会合并成 PDF
  • WinForm面板滚动没有滚动条?

    我正在创建一个基本上是一个面板的用户控件 内部有随机内容 并且我需要能够使用按钮 向上和向下 而不是滚动条来上下滚动该面板 我必须这样做的原因是因为该程序将在触摸屏显示器上使用 我们需要大按钮而不是丑陋的小滚动条 我一直在摆弄 Vertic
  • Scala - lambda 参数可以匹配元组吗?

    所以说我有一些清单 比如 val l List 1 blue 5 red 2 green 然后我想过滤掉其中一个 我可以做类似的事情 val m l filter item gt val n s item unpack the tuple
  • 提高 Pandas 合并性能

    正如其他帖子所建议的那样 我特别没有 Pandas Merge 的性能问题 但我有一个类 其中有很多方法 可以对数据集进行大量合并 该类有大约 10 个 group by 和大约 15 个 merge 虽然 groupby 相当快 但在类的
  • C语言中的“宽字符串”是什么?

    我在书中看到这样一句话 wscanf L lf variable 其中第一个参数的类型为wchar t 这不同于scanf lf variable 其中第一个参数的类型为char 那么比起来有什么区别呢 我以前从未听说过 宽字符串 我听说过
  • 为什么我们(必须)使用不同的启动器图标(xhdpi、hdpi 等)

    我想知道 为什么我们在 android 中使用不同的启动器图标 大小 目前您 必须 将图标大小调整为 LDPI 36 x 36 MDPI 48 x 48 HDPI 72 x 72 XHDPI 96 x 96 并将它们放入所需的文件夹中 但是
  • 如何在 PySimpleGUIQt 中实现复选框功能?

    我正在尝试用 Python 创建一个简单的 GUI 程序 我将在创建新项目时使用它 我想要一个用于项目类型 python web 等 的复选框功能 然后是项目名称的输入框 目录名称是什么 import os import PySimpleG
  • Python - 在大型数据集上计算多项概率密度函数?

    我原本打算使用 MATLAB 来解决这个问题 但内置函数有局限性 不适合我的目标 NumPy 中也存在同样的限制 我有两个制表符分隔的文件 第一个是显示内部蛋白质结构数据库的氨基酸残基 频率和计数的文件 即 A 0 25 1 S 0 25
  • iOS 联系人 如何通过电话号码获取联系人

    我只想通过电话号码获取联系人姓名 我尝试过这个 但速度太慢 CPU 速度超过 120 let contactStore CNContactStore let keys CNContactGivenNameKey CNContactFamil
  • 在 matplotlib 中用圆裁剪三角形

    我想画一个三角形 但其中一条边需要是圆弧段 该示例不起作用 需要删除圆圈外的所有蓝色 可以直接完成此操作 而无需自己计算整个轮廓吗 谢谢你 import matplotlib pyplot as plt fig plt figure ax
  • 在 Ubuntu 上安装软件包需要很长时间

    我之前使用 Windows 作为操作系统 RStudio 用于 Windows 今天切换到 Ubuntu 并再次安装了 R 和 RStudio 当我尝试从 CRAN 安装一些软件包时 仅tidyverse 使用install package
  • 按索引偶数或奇数将数组拆分为两个数组

    我有这个数组 array array a b c d e f g 我想根据索引是偶数还是奇数将其分成两个数组 如下所示 odd array a c e g even array b d f 提前致谢 一种解决方案 使用匿名函数和array