我会尽力向你解释这个想法。我有一个值数组,我想知道是否有一种方法来创建另一个组合值数组。所以,例如:
如果我有这段代码:
array('ec','mp','ba');
我希望能够输出这样的内容:
'ec,mp', 'ec,ba', 'mp,ba', 'ec,mp,ba'
这可能吗?理想情况下,我不希望有重复的条目,例如'ec,mp'
和'mp,ec'
,因为它们是相同的东西
答案 0 :(得分:1)
你可以随心所欲地决定让#34;更低的"首先是字符串做出这个决定之后,它只是一个直接的嵌套循环:
$arr = array('ec','mp','ba');
$result = array();
foreach ($arr as $s1) {
foreach ($arr as $s2) {
if ($s1 < $s2) {
$result[] = array($s1, $s2);
}
}
}
答案 1 :(得分:0)
您可以按照以下方式执行此操作:
$arr = array('ec','mp','ba', 'ds', 'sd', 'ad');
$newArr = array();
foreach($arr as $key=>$val) {
if($key % 2 == 0) {
$newArr[] = $val;
} else {
$newArr[floor($key/2)] = $newArr[floor($key/2)] . ',' . $val;
}
}
print_r($newArr);
结果是:
Array
(
[0] => ec,mp
[1] => ba,ds
[2] => sd,ad
)
答案 2 :(得分:-1)
您是否查看过函数implode
<?php
$array = array('ec','mp','ba');
$comma_separated = implode(",", $array);
echo $comma_separated; // ec,mp,ba
?>
您可以将此作为程序的基础以及您要实现的目标。