php - 在数组的每个可能组合中创建几个单词

标签 php arrays string

此刻我的头脑有点 NumPy ,

假设我有这个数组:

Array
(
    [0] => foo
    [1] => bar
    [2] => love
)

我想创建一对可能的组合(减去一个 val),

比如

foo bar
bar love
foo love

而不是他们的对立面(但那更容易)

bar foo
love bar
love foo

当然数组可以包含更多元素,在这种情况下我想找到

Array
(
    [0] => foo
    [1] => bar
    [2] => love
    [3] => test
)

foo bar love
bar love test
love test foo

foo love test
bar test foo
love test bar

等等……

有什么想法吗?

谢谢!

最佳答案

function getAllCombinations($array){
    $combinations = array();
    foreach ($array as $x) 
        foreach ($array as $y) {
            if($x != $y && !in_array($y.' '.$x,$combinations ))
                array_push($combinations, $x.' '.$y);       
        }
    return $combinations ;
}

返回

Array
(
    [0] => foo bar
    [1] => foo love
    [2] => bar love
)

关于php - 在数组的每个可能组合中创建几个单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5168390/

相关文章:

php - 我可以在其他地方而不是在 Bootstrap 中初始化 Smarty 吗?

php - 为 sql 表中的每一列生成输入提交

javascript - 如何拆分从 `div` 元素检索到的文本

java - Java 数组中出现次数最多的数字

Java 字符串比较失败,使用 equals 方法

javascript - Angular.js指令模板: break line

php - 表单处理 : "bind" is deprecated in symfony 2. 3 - "submit"也不起作用

c - 检测到 glibc - 双重释放或损坏

c++ - 为什么 string::replace 在 C++11 中不指定分配器的异常?

php - 从 PHP 获取计算机唯一 ID