【发布时间】:2019-11-01 05:56:10
【问题描述】:
我有一个看起来像这样的多维 PHP 数组:
[14]=>
array(2) {
[0]=>
int(29)
[1]=>
int(129)
}
[193]=>
array(3) {
[0]=>
int(6009231)
[1]=>
int(6324415)
[2]=>
int(5682922)
}
编辑:可以有超过 2 个键(这里是 14 和 193)。可以有 n 个键。
我的目标是在新数组中获取以下字符串:
14:29;193:6009231
14:29;193:6324415
14:29;193:5682922
14:129;193:6009231
14:129;193:6324415
14:129;193:5682922
条件是键、值之间用:分隔,元素用;分隔
第一个元素应该始终是第一个键 (14),然后我们遍历第一个键的值。第二个元素始终是第二个键,我们再次遍历第二个元素的值。
编辑:键总是按升序排序
我设法以所需格式获得所有可能的组合键:值,如下所示:
$properties_values_combinations = []
foreach ($myarray as $property) {
foreach ($property as $value) {
$properties_values_combinations[] = (string)$property.":".(string)$value;
}
}
但是如何根据我想要达到的结果组合这个数组的元素呢?
【问题讨论】:
-
您的数组将只包含 2 个子数组?或者可以有多个子阵列?如果是,那你怎么知道你必须从哪个索引开始???
-
是的,只有 2 个子数组。第一层代表属性,第二层代表值(myarray[property][value])
-
对不起,我误解了 2 个子数组的意思。如果您的意思是 2 是 14 和 193,那么不,可以有 n 个子数组。你开始的索引是最小的。可以升序排列。
标签: php arrays combinations