多维数组转换为单一数组

3

I have an array, $result, which outputs:

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会被输出两次。我该如何解决这个问题?
1个回答

0
使用array_uniquearray_values函数。。
return array_unique(array_values($result));

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


谢谢你,你能解释一下你的答案吗?它有效。我会在可以的时候接受你的答案。 - user2738336

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接