可使用end()和key()组合、Array_key_last()配合索引、array_slice($array,-1,1,true)、foreach遍历捕获或array_keys()与array_values()分别提取再组合五种方法获取php数组最后一组键值对。

如果您需要在 PHP 中获取数组的最后一组值,即最后一个键值对,可以通过多种方式实现。以下是解决此问题的步骤:
一、使用 end() 和 key() 函数组合
end() 函数将数组内部指针移动到末尾元素,并返回其值;key() 函数则返回当前指针位置的键名。两者结合可同时获取最后一组键和值。
1、调用 end($array) 获取最后一个元素的值,并保持指针停留在末尾位置。
2、调用 key($array) 获取当前指针所在位置的键名。
立即学习“PHP免费学习笔记(深入)”;
3、将两个结果组合为关联形式,例如 [‘key’ => $key, ‘value’ => $value]。
二、使用 array_key_last() 和 array_values() 配合索引访问
PHP 7.3+ 提供了 array_key_last() 函数,可直接获取最后一个键;配合 array_values() 可安全获取数值索引下的末位值,适用于键名不连续或非数字键的场景。
1、调用 array_key_last($array) 获取最后一个键名。
2、使用 $array[$lastKey] 获取对应值。
3、若需确保键值对结构一致,可构造 [$lastKey => $array[$lastKey]]。
三、使用 array_slice() 提取末尾一个元素
array_slice() 可从数组中截取指定长度的片段,设置长度为 1 且偏移量为 -1,即可精准提取最后一组键值对,同时保留原始键名。
1、调用 array_slice($array, -1, 1, true) 执行截取操作。
2、该函数返回一个新数组,其中仅包含最后一组键值对。
3、直接使用该返回值,例如 reset(array_slice($array, -1, 1, true)) 可获取其值,但推荐保留完整数组结构以维持键信息。
四、使用 foreach 遍历并捕获最后一次迭代
foreach 在遍历时会按顺序访问每个元素,通过在循环体中持续覆盖变量,最后一次赋值即为末组值。该方法兼容所有 PHP 版本,无需依赖特定函数。
1、初始化空数组 $lastPair = []。
2、使用 foreach ($array as $k => $v) { $lastPair = [$k => $v]; } 进行遍历赋值。
3、循环结束后,$lastPair 即为最后一组键值对,内容为 [最后一个键 => 最后一个值]。
五、使用 array_keys() 和 array_values() 分别提取再组合
先通过 array_keys() 获取全部键名,array_values() 获取全部值,再利用 count() 计算长度并取索引为 count-1 的项,从而分别取得最后一个键与最后一个值。
1、调用 $keys = array_keys($array) 和 $values = array_values($array)。
2、计算 $len = count($array),若 $len > 0,则 $lastKey = $keys[$len – 1],$lastValue = $values[$len – 1]。
3、组合为 [$lastKey => $lastValue]。