PHP从开始到结束时获取数组键和值

我有一个PHP数组,其中包含literal_key =>值.我需要将键和值从数组的开头移开并将其粘在最后(同时保持键).

我试过了:

$f = array_shift($fields);
array_push($fields, $f);

但这会失去关键价值.
例如:

$fields = array ("hey" => "there", "how are" => "you");

//在上面跑

这会产生:

$fields = array ("how are" => "you", "0" => "there");

(我需要保持“嘿”而没有0)任何想法?

解决方法:

据我所知,您不能使用array_push()向数组添加关联值,也不能使用array_shift()获取键. (同样适用于pop / push).快速破解可能是:

$fields = array( "key0" => "value0", "key1" => "value1");
//Get the first key
reset($fields);
$first_key = key($fields);
$first_value = $fields[$first_key];
unset($fields[$first_key]);

$fields[$first_key] = $first_value;

看它工作here.一些源代码取自https://stackoverflow.com/a/1028677/1216976

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...