当前位置:Gxlcms > PHP教程 > 如何简便地获取数组的第一个,最后一个元素的键值对?

如何简便地获取数组的第一个,最后一个元素的键值对?

时间:2021-07-01 10:21:17 帮助过:6人阅读

当前的做法:

# 关联数组
$a = ['a' => 1, ... 'b' => 2];

$first = reset($a);
$first_key = key($a);

$last = end($a);
$last_key = key($b);

有木有简便点的方法呢?

回复内容:

当前的做法:

# 关联数组
$a = ['a' => 1, ... 'b' => 2];

$first = reset($a);
$first_key = key($a);

$last = end($a);
$last_key = key($b);

有木有简便点的方法呢?

如果分别获取key和value,题主获取fisrt的方法还可以再简单点:

$first = reset($a);

如果要一下子把key和value都获取出来,可以用each:

list($first_key, $first) = (reset($a) ? each($a) : each($a));
list($last_key, $last) = (end($a) ? each($a) : each($a));

ps: 可惜PHP不支持逗号表达式,要不然可以直接这样写:

list($first_key, $first) = (reset($a) , each($a));
list($last_key, $last) = (end($a) , each($a));

补充:list可以嵌套,所以也可以这样写:

list(,list($first_key, $first)) = array(reset($a) , each($a));
list(,list($last_key, $last)) = array(end($a) , each($a));

phpprint_r(current(array_keys($a)));//a
print_r(current(array_values($a)));//1
print_r(end(array_keys($a)));//b
print_r(end(array_values($a)));//2

人气教程排行