为了账号安全,请及时绑定邮箱和手机立即绑定

如何根据当前值查找数组下一个值

如何根据当前值查找数组下一个值

PHP
梦里花落0921 2021-08-27 09:13:50
我有如下数组-Array(   [1] => admin   [5d1acff7-51f5-d10a-8807-5ce3a25f3f01] => atul   [9324e078-e651-09ab-856c-5d00cf1d6302] => tushar   [3e4d9711-e4e0-f9de-8d40-5d021f3137fb] => praful   [b283b589-c527-389f-498b-5cf0ea2338e1] => suraj)在这里我无法根据键找到下一个值,所以我想根据当前值找到下一个值。假设我的当前值为“atul”,现在我希望下一个值为“tushar”及其键。
查看完整描述

1 回答

?
慕丝7291255

TA贡献1859条经验 获得超6个赞

获取搜索字符串的偏移量,增加它,然后从隔离元素访问键和值。


检查false布尔结果来自array_search()至关重要。否则递增false变为1,然后您的脚本不正确。


代码:

$array = [

   1 => 'admin',

   '5d1acff7-51f5-d10a-8807-5ce3a25f3f01' => 'atul',

   '9324e078-e651-09ab-856c-5d00cf1d6302' => 'tushar',

   '3e4d9711-e4e0-f9de-8d40-5d021f3137fb' => 'praful',

   'b283b589-c527-389f-498b-5cf0ea2338e1' => 'suraj'

];


$values = array_values($array);

$offset = array_search('atul', $values);


if ($offset !== false && isset($values[++$offset])) {

    $element = array_slice($array, $offset, 1, true);

    echo key($element) , " : " , current($element);

} else {

    echo "not found or no next";

}

输出:


9324e078-e651-09ab-856c-5d00cf1d6302 : tushar


查看完整回答
反对 回复 2021-08-27
  • 1 回答
  • 0 关注
  • 170 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信