我的数组如下-
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'。
答案 0 :(得分:1)
获取搜索字符串的偏移量,对其进行递增,然后从隔离的元素中访问键和值。
检查false
的{{1}}布尔结果非常关键。否则,递增array_search()
会变成false
,那么您的脚本不正确。
代码:(Demo)(or var_export the element)
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";
}