【问题标题】:Can't flatten multidimensional array with lots of duplicates无法展平具有大量重复项的多维数组
【发布时间】:2012-07-27 15:19:46
【问题描述】:

我正在尝试创建一个脚本,该脚本基于输入 a?? 创建一个包含所有单词的所有组合和排列的数组,其中包含 a 和字母表中的其他两个字符。 值例如 aabbadabbga 等 - 您可能会看到数组包含(或应该包含)奇怪数量的值。

问题是我在脚本中使用的函数输出的值更多,并且有很多重复项。 由于某种原因,我无法创建没有重复的扁平数组。我尝试使用array_unique(),但在这里不起作用。我尝试使用explode()implode() 来展平结果数组,但没有成功。即使我成功地从值创建了一个字符串,当我尝试将该字符串转换为一个数组时,结果仍然是实际的多维数组。

这让我抓狂,正如你看到的代码,我是 PHP 的初学者。

高度赞赏将实际多维数组转换为没有重复的扁平数组的任何帮助。一个例子:实际上数组包含12168个子数组,只有字符串a出现了1456次。我需要的是一个没有子数组并且每个结果只包含一次的数组。

PHP 代码位于here 输出为here:

【问题讨论】:

    标签: php multidimensional-array permutation combinations flatten


    【解决方案1】:

    您是否尝试过类似的方法:

    $inputString = 'a??';
    $array = array();
    
    if (strpos($inputString, 'a') !== false && !in_array($inputString, $array)) {
       $array[] = $inputString;
    }
    
    echo '<pre>'; print_r($array); echo '</pre>';
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-21
      • 2014-08-16
      • 2016-01-11
      • 2012-08-27
      • 1970-01-01
      • 2011-07-26
      • 1970-01-01
      相关资源
      最近更新 更多