php 关联数组 键 和值,从PHP中的关联数组弹出关键值和值

$value = reset($arr);

$key = key($arr);

(以该顺序)

unset($arr[$key]); # in case you want to remove it.

但是array_pop()PHP Manual正在使用最后一个元素:

$value = end($arr);

$key = key($arr);

unset($arr[$key]); # in case you want to remove it.

为了乐趣:

list($value, $key) = array(end($arr), key($arr));

要么

extract(array('value'=>end($arr), 'key'=>key($arr)));

要么

end($arr);

list($key, $value) = each($arr);

或任何你喜欢的游戏风格;)

处理空数组

目前为止处理空数组时缺少。因此,需要检查是否存在最后(第一个)元素,如果没有,则将$ key设置为null(因为null不能是数组键):

for($key=null;$key===null&&false!==$value=end($arr);)

unset($arr[$key=key($arr)]);

这将给出一个像$ arr = array(‘first’=>’1st’,’last’=>’2nd。’)的填充数组。

string(4) "2nd." # value

string(4) "last" # key

array(1) { # leftover array

["first"]=>

string(3) "1st"

}

和一个空数组:

bool(false) # value

NULL # key

array(0) { # leftover array

}

害怕使用unset?

如果您不信任unset()具有所需的性能(其中我认为这不是一个问题,尽管我没有运行任何指标),您也可以使用本机的array_pop()实现(但我真的认为unset()作为一个语言结构可能会更快):

end($arr);

$key = key($arr);

$value = array_pop($arr);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值