php - 多维数组到单数组

标签 php arrays

我有一个数组 $result,它输出:

Array ( [0] => Array ( [username] => boyzerooooo [0] => boyzerooooo ) [1] => Array ( [username] => mynameiszero23 [0] => mynameiszero23 ) [2] => Array ( [username] => yournameiszero [0] => yournameiszero ) [3] => Array ( [username] => zerotolerance [0] => zerotolerance ) )

我使用下面的函数,把它变成一个一维数组:

function array_flatten($array) { 
  if (!is_array($array)) { 
    return FALSE; 
  } 
  $result = array(); 
  foreach ($array as $key => $value) { 
    if (is_array($value)) { 
      $result = array_merge($result, array_flatten($value)); 
    } 
    else { 
      $result[$key] = $value; 
    } 
  } 
  return $result; 
}

然后输出到:

Array ( [username] => zerotolerance [0] => boyzerooooo [1] => mynameiszero23 [2] => yournameiszero [3] => zerotolerance ) 

我的问题是 zerotolerance 被输出了两次,我不确定为什么。当我使用 foreach 输出数组时,zerotolerance 被输出了两次。我该如何解决这个问题?

最佳答案

使用array_uniquearray_values..

return array_unique(array_values($result));

array_values 返回数组中的所有值,array_unique 仅返回数组中的唯一值。

关于php - 多维数组到单数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23312478/

相关文章:

php - 计算字符串中元音的简单方法?

ios - 我如何在 Swift 中使用 CFArrayRef?

c++ - 数组缓冲区溢出

php - 用 PHP 计算数组的平均值?

php - 如何在 MySQL 中存储包含引号的数据

javascript - jquery javascript 在 codeigniter 中不起作用

PHP 使用 for 循环遍历数组

arrays - 如何在 postgresql 中实现 SET?

PHP:使用 REGEX 从任何查询中获取表名(选择、更新、插入、删除)

php - 移动到 SSL 后页面加载后丢失 session