php - 我的产品变体以数组形式出现 我需要调节它们的功能
问题描述
让我举个例子吧
这些都来找我了。
Array
(
[Renk] => Array
(
[0] => Altın Sarısı
[1] => Altın Sarısı
[2] => Altın Sarısı
[3] => Altın Sarısı
[4] => Gümüş
[5] => Gümüş
[6] => Gümüş
[7] => Gümüş
[8] => Siyah
[9] => Siyah
[10] => Siyah
[11] => Siyah
[12] => Beyaz
[13] => Beyaz
[14] => Beyaz
[15] => Beyaz
)
[İnç] => Array
(
[0] => 15
[1] => 16
[2] => 17
[3] => 18
[4] => 15
[5] => 16
[6] => 17
[7] => 18
[8] => 15
[9] => 16
[10] => 17
[11] => 18
[12] => 15
[13] => 16
[14] => 17
[15] => 18
)
)
我应该这样做。
[0] => Array
(
[Renk] => Altın Sarısı
[İnç] => 15
)
[1] => Array
(
[Renk] => Altın Sarısı
[İnç] => 16
)
[2] => Array
(
[Renk] => Altın Sarısı
[İnç] => 17
)
[3] => Array
(
[Renk] => Altın Sarısı
[İnç] => 18
)
[4] => Array
(
[Renk] => Gümüş
[İnç] => 15
)
[5] => Array
(
[Renk] => Gümüş
[İnç] => 16
)
[6] => Array
(
[Renk] => Gümüş
[İnç] => 17
)
[7] => Array
(
[Renk] => Gümüş
[İnç] => 18
)
[8] => Array
(
[Renk] => Siyah
[İnç] => 15
)
[9] => Array
(
[Renk] => Siyah
[İnç] => 16
)
[10] => Array
(
[Renk] => Siyah
[İnç] => 17
)
[11] => Array
(
[Renk] => Siyah
[İnç] => 18
)
[12] => Array
(
[Renk] => Beyaz
[İnç] => 15
)
[13] => Array
(
[Renk] => Beyaz
[İnç] => 16
)
[14] => Array
(
[Renk] => Beyaz
[İnç] => 17
)
[15] => Array
(
[Renk] => Beyaz
[İnç] => 18
)
我用它,但它变得太多了。
function get_combinations($arrays) {
$result = array(array());
foreach ($arrays as $property => $property_values) {
$tmp = array();
foreach ($result as $result_item) {
foreach ($property_values as $property_value) {
$tmp[] = array_merge($result_item, array($property => $property_value));
}
}
$result = $tmp;
}
return $result;
}
解决方案
您不需要为此目的编写长代码。只需迭代数组的一个键并创建具有目标结构的新数组。
$newArr = [];
foreach ($arr['Renk'] as $key=>$item){
$newArr[] = [
"Renk" => $item,
"İnç" => $arr['İnç'][$key]
];
}
在dmeo中检查结果
此外,如果数组的键是动态的,请使用底部显示的代码
$keys = array_keys($arr);
$newArr = [];
foreach ($arr[$keys[0]] as $key=>$item){
$newArr[] = [
$keys[0] => $item,
$keys[1] => $arr[$keys[1]][$key]
];
}
在演示中检查结果
推荐阅读
- javascript - 如何在另一个之后执行一个功能
- c# - 使用 NLog 记录异常
- android - 向 API 调用添加观察者
- android - 视图模型中的实时数据只能在一个地方观察?
- rust - GtkEventBox 将信号连接到 Glade 中的 GAction
- php - 在 PHP 中显示本地目录中的图像
- python - 预期的二维数组,在熊猫回归中得到标量数组而不是错误
- python - 是否可以在不创建自己的网站的情况下使用谷歌自定义搜索功能?
- java - FirebaseRecyclerAdapter 不在 android 版本 3.2.1 中显示我的项目
- docker - Dockerfile - 隐藏 --build-args 以免在构建时出现