更改 php 中关联数组中元素的位置
Change position of elements in an associative array in php
我有一个关联数组:
$headers=
Array
(
[MODULE_ID] => Module ID
[PLATFORM_ID] => Platform ID
[PACKAGE_GUID] => Package GUID
[AGGREGATE_PACKAGE] => Aggregate Package
[DELD] => Deld
)
现在我想更改包 ID 在顶部的位置,使其类似于:
$desired=
Array
(
[PACKAGE_GUID] => Package GUID
[MODULE_ID] => Module ID
[PLATFORM_ID] => Platform ID
[AGGREGATE_PACKAGE] => Aggregate Package
[DELD] => Deld
)
我尝试了 array_unshift
方法,但在这种情况下它不起作用,因为它是一个关联数组。
unset($headers['PACKAGE_GUID']);
array_unshift($headers, 'PACKAGE_GUID');
如何实现?
谢谢。
这是一种方法:
$arr = array_merge(array($key => $value), $arr);
$arr
是您的数组,$key
和 $value
是您要移动到顶部的数组的相应值。
例如
$arr = array_merge(array('PACKAGE_GUID' => $arr['PACKAGE_GUID']), $arr);
unset($headers['PACKAGE_GUID']);
$desired = array( 'PACKAGE_GUID' => Package GUID ) + $headers;
如果您需要一个已经设置好的值,您可以使用:
$value = $headers['PACKAGE_GUID'];
unset($headers['PACKAGE_GUID']);
$desired = array( 'PACKAGE_GUID' => $value ) + $headers;
unset($headers['PACKAGE_GUID']);
array_unshift($headers, array('PACKAGE_GUID' => 'Package GUID'));
您可以通过对所需数组进行简单赋值来实现此目的
$headers= Array
(['MODULE_ID'] => 'Module ID',
['PLATFORM_ID'] => 'Platform ID',
['PACKAGE_GUID'] => 'Package GUID',
['AGGREGATE_PACKAGE'] => 'Aggregate Package',
['DELD'] => 'Deld');
按您的要求输出:
$desired=
Array
(
[PACKAGE_GUID] => $headers['PACKAGE_GUID'],
[MODULE_ID] => $headers['MODULE_ID'],
[PLATFORM_ID] => $headers['PLATFORM_ID'],
[AGGREGATE_PACKAGE] =>$headers['AGGREGATE_PACKAGE'],
[DELD] => $headers['Deld']
);
我有一个关联数组:
$headers=
Array
(
[MODULE_ID] => Module ID
[PLATFORM_ID] => Platform ID
[PACKAGE_GUID] => Package GUID
[AGGREGATE_PACKAGE] => Aggregate Package
[DELD] => Deld
)
现在我想更改包 ID 在顶部的位置,使其类似于:
$desired=
Array
(
[PACKAGE_GUID] => Package GUID
[MODULE_ID] => Module ID
[PLATFORM_ID] => Platform ID
[AGGREGATE_PACKAGE] => Aggregate Package
[DELD] => Deld
)
我尝试了 array_unshift
方法,但在这种情况下它不起作用,因为它是一个关联数组。
unset($headers['PACKAGE_GUID']);
array_unshift($headers, 'PACKAGE_GUID');
如何实现? 谢谢。
这是一种方法:
$arr = array_merge(array($key => $value), $arr);
$arr
是您的数组,$key
和 $value
是您要移动到顶部的数组的相应值。
例如
$arr = array_merge(array('PACKAGE_GUID' => $arr['PACKAGE_GUID']), $arr);
unset($headers['PACKAGE_GUID']);
$desired = array( 'PACKAGE_GUID' => Package GUID ) + $headers;
如果您需要一个已经设置好的值,您可以使用:
$value = $headers['PACKAGE_GUID'];
unset($headers['PACKAGE_GUID']);
$desired = array( 'PACKAGE_GUID' => $value ) + $headers;
unset($headers['PACKAGE_GUID']);
array_unshift($headers, array('PACKAGE_GUID' => 'Package GUID'));
您可以通过对所需数组进行简单赋值来实现此目的
$headers= Array
(['MODULE_ID'] => 'Module ID',
['PLATFORM_ID'] => 'Platform ID',
['PACKAGE_GUID'] => 'Package GUID',
['AGGREGATE_PACKAGE'] => 'Aggregate Package',
['DELD'] => 'Deld');
按您的要求输出:
$desired=
Array
(
[PACKAGE_GUID] => $headers['PACKAGE_GUID'],
[MODULE_ID] => $headers['MODULE_ID'],
[PLATFORM_ID] => $headers['PLATFORM_ID'],
[AGGREGATE_PACKAGE] =>$headers['AGGREGATE_PACKAGE'],
[DELD] => $headers['Deld']
);