时间: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