我如何将第一个数组[ONE}转换为第二个数组[TOW},在那里我可以调用meta_key,然后我得到var:我通过调用指定的sql行得到这个数组,我使用这个查询:$user_data = $wpdb->get_results("SELECT * FROM $wpdb->usermeta WHERE user_id = $fivesdraft->user_id ");
可能是在查询中连接它的另一种更好的方法?而不是在PHP 中
Array ONE
(
[0] => stdClass Object
(
[umeta_id] => 16
[user_id] => 2
[meta_key] => nickname
[meta_value] => user1
)
[1] => stdClass Object
(
[umeta_id] => 17
[user_id] => 2
[meta_key] => first_name
[meta_value] => testname
)
[2] => stdClass Object
(
[umeta_id] => 18
[user_id] => 2
[meta_key] => last_name
[meta_value] => testlastname
)
[3] => stdClass Object
(
[umeta_id] => 19
[user_id] => 2
[meta_key] => description
[meta_value] => user desc
)
)
Array TWO
(
[nickname] => 'user1'
[first_name] => 'user desc'
[last_name] => 'user desc'
[description] => 'user desc'
...
)
您可以使用array_reduced:
$myArray = array_reduce($arrayOne, function ($result, $item) {
$result[$item->meta_key] = $item->meta_value;
return $result;
}, array());
只需在数组上循环并将值写入新的数组
$two = array();
foreach ($one as $item) {
$two[$item->meta_key] = $item->meta_value;
}