欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2024-02-04 08:39:40
...
当前的做法:
# 关联数组
$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
相关标签: php