当前位置: 首页 > 知识库问答 >
问题:

如何从PHP中的给定键获得数组中的下一个键?

邢皓
2023-03-14

例如,我有一个数组,元素如下

$array = array(
               1 => "a",
               3 => "c",
               4 => "d",
               6 => "f",
              );

我怎么能得到下一个键从给定的键,如果我使用一些功能,如

get_next_key_array($array,1);
it should return 3.

如果是的话

 get_next_key_array($array,4);
 it should return 6.

是可以做到的,我知道php中的Next(),当前(),prev(),但是我不知道如何使用默认函数实现我需要的结果。请帮助我。

共有3个答案

南门刚捷
2023-03-14

试试这个:

$len = count($array);
$keys = array_keys($array);
$keys_map = array_flip($keys);
if($keys_map[$current_key]>=$len-1)
    $nextkey = $keys[0];
else
    $nextkey = $keys[$keys_map[$current_key]];
聂宜
2023-03-14
function get_next_key_array( $array, $find_key ) {
    $flag = false;
    foreach( $array as $key => $value ) {
        if( $flag ) {
            return $key;
        }
        if( $key === $find_key ) {
            $flag = true;
        }
    }
    return false;
}
赏高格
2023-03-14

试试这个

function get_next_key_array($array,$key){
    $keys = array_keys($array);
    $position = array_search($key, $keys);
    if (isset($keys[$position + 1])) {
        $nextKey = $keys[$position + 1];
    }
    return $nextKey;
}
 类似资料:
  • 问题内容: 我有一个像这样打印的数组 如果我得到这样的东西 为什么名称未编码(例如0、1、2、3等)?以及如何使它出现在json代码中?完整的代码如下 问题答案: 您可以通过设置 JSON_FORCE_OBJECT 选项来强制使用对象,尽管您要通过数字键传递数组: 然后,返回的值将是带有数字键的JSON对象: 但是,只有在确实需要对象时才应该这样做。

  • 问题内容: 如何获得数组的最后一个键? 问题答案: 一个解决方案是使用和 (引用) 的组合: __ 将array的内部指针前进到最后一个元素,并返回其值。 返回当前数组位置的索引元素。 因此,像这样的一部分代码应该可以解决问题: 将输出: 即我数组的最后一个元素的键。 完成此操作后,数组的内部指针将位于数组的末尾。如注释中所指出的,您可能希望在数组上运行以将指针带回到数组的开头。

  • 我想要这样的结果。依靠这个数组,我想在其中得到一个随机值。

  • 问题内容: 让我解释一下自己。通过知道日期的星期数和年份: 但是现在我不知道如何获取该周第一天的日期。我一直在寻找Calendar,Date,DateFormat,但没有什么可能有用的… 有什么建议吗?(使用Java) 问题答案: 这些字段不返回值。这些是 常量,标识可以获取/设置/添加的对象中的字段。要实现所需的功能,您首先需要获取一个,将其清除并设置已知值。它将自动将日期设置为该周的第一天。

  • 问题内容: 我正在尝试获取给定月份的第一个星期一。 我想出的最好方法是在前7天循环浏览,然后在返回时返回。有一个更好的方法吗? 问题答案: 通过查看时间的.Weekday(),您可以计算第一个星期一。

  • 问题内容: 首先,我是一个新手,我正在尝试使用mediastore获取媒体文件的详细信息,并将详细信息保存在List中。这是我在做什么 在这里,我从内部和外部uri获取文件详细信息并将其保存在中。但是我无法获取特定列的详细信息。这就是我正在尝试的 我如何从另一个类或片段中的Item类获得以下详细信息作为数组。 问题答案: 您可以像这样获取数组项。例如,这是示例 如果要将数据设置为listview,