使用键值对中的值之一从关联数组创建数组
Create an array from an associative array using one of its value in a key value pair
我有一个名为 $data 的关联数组。这是一些相同的键值对
Array
(
[0] => Array
(
[id] => 1
[config_id] => 31
[language] => "English"
)
[1] => Array
(
[id] => 2
[config_id] => 33
[language] => "English"
)
[2] => Array
(
id] => 3
[config_id] => 32
[language] => "French"
)
)
我想将这个数组转换为
Array
(
["English"] => Array(
[0]=> Array
(
[id] => 1
[config_id] => 31
)
[1] => Array
(
[id] => 2
[config_id] => 33
)
)
["French"] =>
Array(
[0]=> Array
(
[id] => 3
[config_id] => 32
)
)
)
)
我需要语言作为输出数组中的键,谁能帮我解决这个问题?提前致谢。
我尝试了以下代码,但只打印了最后一个数组值
$arry = array();
foreach ($data as $val) {
$arry[$val->language]["id"] = $val->id;
$arry[$val->language]["config_id"] = $val->config_id;
}
你就快完成了,只需要一次性创建新数组,然后使用 $arry[$val->language][]
在新的或现有的语言键下创建一个新的子数组。
另外 $data
是一个或多个数组而不是对象数组,因此项目的寻址是错误的。
$arry = array();
foreach ($data as $val) {
$arry[$val->language][] = ['id' => $val['id'], 'config_id' => $val['config_id']];
}
我有一个名为 $data 的关联数组。这是一些相同的键值对
Array
(
[0] => Array
(
[id] => 1
[config_id] => 31
[language] => "English"
)
[1] => Array
(
[id] => 2
[config_id] => 33
[language] => "English"
)
[2] => Array
(
id] => 3
[config_id] => 32
[language] => "French"
)
)
我想将这个数组转换为
Array
(
["English"] => Array(
[0]=> Array
(
[id] => 1
[config_id] => 31
)
[1] => Array
(
[id] => 2
[config_id] => 33
)
)
["French"] =>
Array(
[0]=> Array
(
[id] => 3
[config_id] => 32
)
)
)
)
我需要语言作为输出数组中的键,谁能帮我解决这个问题?提前致谢。 我尝试了以下代码,但只打印了最后一个数组值
$arry = array();
foreach ($data as $val) {
$arry[$val->language]["id"] = $val->id;
$arry[$val->language]["config_id"] = $val->config_id;
}
你就快完成了,只需要一次性创建新数组,然后使用 $arry[$val->language][]
在新的或现有的语言键下创建一个新的子数组。
另外 $data
是一个或多个数组而不是对象数组,因此项目的寻址是错误的。
$arry = array();
foreach ($data as $val) {
$arry[$val->language][] = ['id' => $val['id'], 'config_id' => $val['config_id']];
}