从数组值创建值组

时间:2015-06-06 14:06:33

标签: php arrays

我会尽力向你解释这个想法。我有一个值数组,我想知道是否有一种方法来创建另一个组合值数组。所以,例如:

如果我有这段代码:

array('ec','mp','ba');

我希望能够输出这样的内容:

'ec,mp', 'ec,ba', 'mp,ba', 'ec,mp,ba'

这可能吗?理想情况下,我不希望有重复的条目,例如'ec,mp''mp,ec',因为它们是相同的东西

3 个答案:

答案 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
?>

您可以将此作为程序的基础以及您要实现的目标。