首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >删除数值型数组中的关联数组元素并清除数组重复项

删除数值型数组中的关联数组元素并清除数组重复项
EN

Stack Overflow用户
提问于 2011-12-31 18:56:24
回答 3查看 256关注 0票数 0

我正在尝试解决如何清理我的数组,我的输出应该是:

1)所有数字索引和

2)无重复值。

这是我当前数组输出的样本:

注意:索引3。我正在将这些值解析到一个新的数组中,并且不需要它们中的任何一个。正如您所看到的,它们被合并到下面的数组中。

最终,我正在为.csv格式做准备,但是我需要我的数组具有某种类型的序列,以便以适当的表示形式保存数据。

代码语言:javascript
运行
复制
Array // print_r();
(
    [0] => 3350
    [id] => 3350
    [1] => Williamson New England Electric
    [company] => Williamson New England Electric
    [2] => bob@jojozzz.go
    [email] => bob@jojozzz.go
    [3] => Pumps & Motors,Electronic Systems,Electrical Supply,Electrical 
    [industry] => Pumps & Motors,Electronic Systems,Electrical Supply,Electrical 
    [4] => Pumps & Motors
    [5] => Electronic Systems
    [6] => Electrical Supply
    [7] => Electrical 
)

这就是我想要实现的:

代码语言:javascript
运行
复制
Array
(
    [0] => 3350
    [1] => Williamson New England Electric
    [2] => bob@jojozzz.go
    [4] => Pumps & Motors
    [5] => Electronic Systems
    [6] => Electrical Supply
    [7] => Electrical 
)
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-12-31 19:29:09

正如我在我的评论中所说,如果您从MySQL数据库中获取数组,那么从一开始就将其作为数值数组可能更容易:

代码语言:javascript
运行
复制
$row = mysql_fetch_row($result);

然后,可以执行以下操作来拆分最后一列的值:

代码语言:javascript
运行
复制
array_splice($row, -1, 1, explode(',', end($row)));
票数 2
EN

Stack Overflow用户

发布于 2011-12-31 19:23:30

请参阅Felix的注释,了解如何在源代码中将数组转换为正确的格式。如果这是不可能的,这将会起到作用;

代码语言:javascript
运行
复制
$array = Array(
  '0' => 3350,
  'id' => 3350,
  '1' => 'Williamson New England Electric',
  'company' => 'Williamson New England Electric',
  '2' => 'bob@jojozzz.go',
  'email' => 'bob@jojozzz.go',
  '3' => 'Pumps & Motors,Electronic Systems,Electrical Supply,Electrical ',
  'industry' => 'Pumps & Motors,Electronic Systems,Electrical Supply,Electrical ',
  '4' => 'Pumps & Motors',
  '5' => 'Electronic Systems',
  '6' => 'Electrical Supply',
  '7' => 'Electrical'
);

$outputArray = array_values( $array );
$uniqueArray = array_unique( $outputArray );

var_dump( $uniqueArray );
票数 2
EN

Stack Overflow用户

发布于 2011-12-31 19:30:26

不能保证任何关于性能的东西,但您可以使用is_numeric来确保(#1)只有数字索引,并使用array_unique来确保(#2)没有重复:

代码语言:javascript
运行
复制
$b = filterNonNumericKeysInArray($a);
$b = array_unique($b);

function filterNonNumericKeysInArray($arr) {
    $finalArr = Array();

    foreach ($arr as $key => $val) {
        if (!is_numeric($key)) { continue; }

        $finalArr[$key] = $val;
    }

    return $finalArr;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8687708

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档