我有一个数组 $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_unique
和array_values
..
return array_unique(array_values($result));
array_values
返回数组中的所有值,array_unique
仅返回数组中的唯一值。
关于php - 多维数组到单数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23312478/