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;
}