Php 是否有一种方法可以将2个键值对的数组转换为单个键值?
从表中提取信息时,通常可以获得:Php 是否有一种方法可以将2个键值对的数组转换为单个键值?,php,arrays,Php,Arrays,从表中提取信息时,通常可以获得: Field1 | Field2 ================= ValueX | ValueY ValueA | ValueB 检索时,其结果为: array( array( "Field1"=>"ValueX", "Field2"=>"ValueY" ), array( "Field1"=>"ValueA", "F
Field1 | Field2
=================
ValueX | ValueY
ValueA | ValueB
检索时,其结果为:
array(
array(
"Field1"=>"ValueX",
"Field2"=>"ValueY"
),
array(
"Field1"=>"ValueA",
"Field2"=>"ValueB"
)
)
我想做的是翻转阵列,使其成为:
array(
"ValueX"=>"ValueY",
"ValueA"=>"ValueB"
)
在PHP中是否有任何内置的方法来实现这一点,如果没有,那么实现这一点的最节省资源的方法是什么?不确定这是否是预期输出中的输入错误(两个结果都是ValueX),但使用
数组\u列
可以将数组转换为您想要的格式
$array1 = array(
array(
"Field1"=>"ValueX",
"Field2"=>"ValueY"
),
array(
"Field1"=>"ValueA",
"Field2"=>"ValueB"
)
);
$array2 = array_column($array1, "Field2", "Field1");
print_r($array2);
给
Array
(
[ValueX] => ValueY
[ValueA] => ValueB
)
不确定这是否是预期输出中的输入错误(两个结果的值均为X),但使用
array\u column
可以将数组转换为您想要的格式
$array1 = array(
array(
"Field1"=>"ValueX",
"Field2"=>"ValueY"
),
array(
"Field1"=>"ValueA",
"Field2"=>"ValueB"
)
);
$array2 = array_column($array1, "Field2", "Field1");
print_r($array2);
给
Array
(
[ValueX] => ValueY
[ValueA] => ValueB
)
尝试此操作以在不使用键(列名称)的情况下获取数组: 产出:
array(2) { ["ValueX"]=> string(6) "ValueY" ["ValueA"]=> string(6) "ValueB" }
尝试此操作以在不使用键(列名称)的情况下获取数组: 产出:
array(2) { ["ValueX"]=> string(6) "ValueY" ["ValueA"]=> string(6) "ValueB" }
您所说的“ValueX”=>“ValueB”是指这个
“ValueA”=>“ValueB”
?@AmrBerag-是的。我已对问题进行了修改。感谢您的关注。:)您所说的“ValueX”=>“ValueB”是指这个“ValueA”=>“ValueB”
?@AmrBerag-是的。我已对问题进行了修改。感谢您的关注。:)我在寻找一种不用“foreach”“while”等的方法。我在寻找一种不用“foreach”“while”等的方法。是的,这就是我要寻找的。:)非常感谢。(这是一个打字错误,被指出后我更新了)是的,这就是我要找的非常感谢。(这是一个打字错误,我在被指出后进行了更新)