Php 获取子数组的第一个元素作为其键

Php 获取子数组的第一个元素作为其键,php,arrays,transform,associative-array,associative,Php,Arrays,Transform,Associative Array,Associative,我正在寻找一种简单的方法来变换关联数组的关键点。 我希望子数组的键是他自己的第一个值。 是否可以更改此选项: Array ( [0] => Array ( [symbol] => ETHBTC [status] => TRADING ) [1] => Array ( [symbol] => LTCBTC [status] => TRADING ) ) 为此: Ar

我正在寻找一种简单的方法来变换关联数组的关键点。 我希望子数组的键是他自己的第一个值。 是否可以更改此选项:

Array
(
[0] => Array
    (
        [symbol] => ETHBTC
        [status] => TRADING
    )
[1] => Array
    (
        [symbol] => LTCBTC
        [status] => TRADING
    )
)
为此:

Array
(
[ETHBTC] => Array
    (
        [status] => TRADING
    )
[LTCBTC] => Array
    (
        [status] => TRADING
    )
)

这并没有给你确切的输出,但它可能是你的后

$data = Array
(
        Array
        (
                'symbol' => 'ETHBTC',
                'status' => 'TRADING'
                ),
        Array
        (
                'symbol' => 'LTCBTC',
                'status' => 'TRADING2'
                )
        );

$data = array_column($data, null, 'symbol');
print_r($data);
echo $data['LTCBTC']['status'];

Array
(
    [ETHBTC] => Array
        (
            [symbol] => ETHBTC
            [status] => TRADING
        )

    [LTCBTC] => Array
        (
            [symbol] => LTCBTC
            [status] => TRADING2
        )

)
TRADING2

$new=array\u列($array,null,symbol)
但是它保存字段symbol为什么不使用索引(
symbol
status
)呢?我想用$array['symbol']查询数组。我的子数组中有两个以上的元素(我的示例不好)。您的解决方案很好,但将“null”作为数组_列的第二个参数,如下面的@splash58 response。
$array = Array
( Array
    (
        "symbol" => "ETHBTC",
        "status" => "TRADING"
    ),
Array
    (
        "symbol" => "LTCBTC",
        "status" => "TRADING"
    )
);

$append = [];

foreach ($array as $key => $value) {
  $append[$value['symbol']]=$value;
}