目前我有这样的数组
$myAllProducts= array(
0=> array(
'productName' => "Classmate",
'productId' => 2
),
1=>array(
'productName' => "tata",
'productId' => 3
),
2=>array(
'productName' => "abcd",
'productId' => 4
),
1=>array(
'productName' => "pen",
'productId' => 7
),
)
Run Code Online (Sandbox Code Playgroud)
我想将它转换为类似的数组
array('Classmate'=>2,
'tata'=>3,
'abcd'=>4,
'pen'=>7)
Run Code Online (Sandbox Code Playgroud)
我是这样做的
$productList=array();
foreach($myAllProducts as $record)
{
$productsList[$record['productName']]=$record['productId'];
}
Run Code Online (Sandbox Code Playgroud)
问题: - 尽管我使用我的循环成功获得了所需的结果,但我想知道是否可以使用任何内置函数或以更好的方式完成它?
如果您使用PHP> = 5.5,那么您可以使用新的array_column()函数
$productList = array_combine(
array_column(
$myAllProducts,
'productName'
),
array_column(
$myAllProducts,
'productId'
)
);
Run Code Online (Sandbox Code Playgroud)
或(甚至更简单)
$productList = array_column(
$myAllProducts,
'productId',
'productName'
);
Run Code Online (Sandbox Code Playgroud)