繁体   English   中英

PHP-删除关联数组元素并将其分配给一个动作中的变量?

[英]PHP - Remove associative array element and assign it to a variable in one action?

我试图找出是否有一种方法来删除数组元素,同时将该值存储在变量中。

$array = [
    'foo' => 'a',
    'bar' => 'b'
];

// Perform the following with one action?
$var = $array['foo'];
unset($array['foo']);

编辑:我的意思是如果没有自定义功能就可以完成。

有,但是它又慢又丑。

$var = array_splice($array, array_search('foo', array_keys($array)), 1)['foo'];

我会坚持使用2线。

可以在某些情况下完成。

有两个功能可以满足您的需求。

array_pop($stack);
array_shift($stack);

但是array_pop仅获取和删除数组的最后一个元素,而array_push则删除数组的第一个元素,如果您使用关联数组,这可能导致代码的行为受到意外影响。

但是,如果您可以在不增加复杂性的情况下重组数组以适合这些功能(这会使整个事情变得毫无意义),则可以做到。

这些功能的两个链接是:

array_pop

array_shift

数组函数的完整参考可以在这里找到。 也许您找到了可以满足您需要的方法: 数组函数参考

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM