免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2432 | 回复: 9
打印 上一主题 下一主题

一个数组输出的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-07-31 13:26 |只看该作者 |倒序浏览
  1. Array
  2. (
  3.     [0] => Array
  4.         (
  5.             [id] => 22
  6.             [uid] => 14
  7.             [title] => 数控机床工
  8.             [corptitle] => 玛斯特汽配有限公司
  9.             [dateline] => 1249016119
  10.         )

  11.     [1] => Array
  12.         (
  13.             [id] => 21
  14.             [uid] => 13
  15.             [title] => 外贸业务员
  16.             [corptitle] => 浙江奔兴汽车部件有限公司
  17.             [dateline] => 1248877053
  18.         )

  19.     [2] => Array
  20.         (
  21.             [id] => 20
  22.             [uid] => 13
  23.             [title] => 机械制图
  24.             [corptitle] => 浙江奔兴汽车部件有限公司
  25.             [dateline] => 1248873409
  26.         )

  27.     [3] => Array
  28.         (
  29.             [id] => 19
  30.             [uid] => 13
  31.             [title] => 注塑车间主任
  32.             [corptitle] => 浙江奔兴汽车部件有限公司
  33.             [dateline] => 1248872670
  34.         )

  35.     [4] => Array
  36.         (
  37.             [id] => 18
  38.             [uid] => 13
  39.             [title] => 滤清器生产厂长
  40.             [corptitle] => 浙江奔兴汽车部件有限公司
  41.             [dateline] => 1248853747
  42.         )

  43.     [5] => Array
  44.         (
  45.             [id] => 17
  46.             [uid] => 11
  47.             [title] => 工业工程师
  48.             [corptitle] => 浙江诺力机械股份有限公司
  49.             [dateline] => 1248852871
  50.         )

  51.     [6] => Array
  52.         (
  53.             [id] => 16
  54.             [uid] => 11
  55.             [title] => 副总秘书
  56.             [corptitle] => 浙江诺力机械股份有限公司
  57.             [dateline] => 1248852841
  58.         )

  59.     [7] => Array
  60.         (
  61.             [id] => 15
  62.             [uid] => 11
  63.             [title] => 电气工程师
  64.             [corptitle] => 浙江诺力机械股份有限公司
  65.             [dateline] => 1248852820
  66.         )

  67.     [8] => Array
  68.         (
  69.             [id] => 14
  70.             [uid] => 11
  71.             [title] => 机修工
  72.             [corptitle] => 浙江诺力机械股份有限公司
  73.             [dateline] => 1248852791
  74.         )

  75.     [9] => Array
  76.         (
  77.             [id] => 12
  78.             [uid] => 11
  79.             [title] => 电工
  80.             [corptitle] => 浙江诺力机械股份有限公司
  81.             [dateline] => 1248851738
  82.         )

  83. )
复制代码

这个数据里uid和corptitle是有重复的!
我想取出uid不重复的值,按照这样格式输出:
  1. <li>[corptitle] [dateline] [同一个uid的title的集合]</li>
  2. <li>[corptitle] [dateline] [同一个uid的title的集合]</li>
  3. <li>[corptitle] [dateline] [同一个uid的title的集合]</li>
  4. <li>[corptitle] [dateline] [同一个uid的title的集合]</li>
复制代码

论坛徽章:
0
2 [报告]
发表于 2009-07-31 13:43 |只看该作者
你是只想取出uid不重复的,还是要按照uid分组

论坛徽章:
0
3 [报告]
发表于 2009-07-31 13:54 |只看该作者
搞错了,如果是重复的,只取第一条记录,没有重复的就直接取出来嘛!

论坛徽章:
0
4 [报告]
发表于 2009-07-31 14:15 |只看该作者
用 array_filter 吧,在 callback 那儿用一个 static 变量记录已经出现的 ID。

论坛徽章:
0
5 [报告]
发表于 2009-07-31 14:24 |只看该作者
原帖由 dz902 于 2009-7-31 14:15 发表
用 array_filter 吧,在 callback 那儿用一个 static 变量记录已经出现的 ID。

可行

论坛徽章:
0
6 [报告]
发表于 2009-07-31 14:55 |只看该作者
也可以做一个 loop,一样的道理。

论坛徽章:
0
7 [报告]
发表于 2009-08-05 09:00 |只看该作者

又一个数组的问题!

  1. Array
  2. (
  3.     [0] => Array
  4.         (
  5.             [id] => 63
  6.             [uid] => 21
  7.             [title] => 机修工
  8.             [corptitle] => 浙江凯迪汽车部件工业有限公司
  9.             [dateline] => 1249303442
  10.         )
  11.     [1] => Array
  12.         (
  13.             [id] => 62
  14.             [uid] => 21
  15.             [title] => 打毛刺工
  16.             [corptitle] => 浙江凯迪汽车部件工业有限公司
  17.             [dateline] => 1249303404
  18.         )
  19.     [2] => Array
  20.         (
  21.             [id] => 61
  22.             [uid] => 21
  23.             [title] => 普工
  24.             [corptitle] => 浙江凯迪汽车部件工业有限公司
  25.             [dateline] => 1249303373
  26.         )
  27.     [3] => Array
  28.         (
  29.             [id] => 60
  30.             [uid] => 21
  31.             [title] => 保安
  32.             [corptitle] => 浙江凯迪汽车部件工业有限公司
  33.             [dateline] => 1249303342
  34.         )
  35.     [4] => Array
  36.         (
  37.             [id] => 59
  38.             [uid] => 21
  39.             [title] => 主办会计
  40.             [corptitle] => 浙江凯迪汽车部件工业有限公司
  41.             [dateline] => 1249303315
  42.         )
  43.     [5] => Array
  44.         (
  45.             [id] => 58
  46.             [uid] => 21
  47.             [title] => 下料
  48.             [corptitle] => 浙江凯迪汽车部件工业有限公司
  49.             [dateline] => 1249303279
  50.         )
  51.     [6] => Array
  52.         (
  53.             [id] => 57
  54.             [uid] => 21
  55.             [title] => 叉车工
  56.             [corptitle] => 浙江凯迪汽车部件工业有限公司
  57.             [dateline] => 1249303237
  58.         )
  59.     [7] => Array
  60.         (
  61.             [id] => 56
  62.             [uid] => 21
  63.             [title] => 仓管员
  64.             [corptitle] => 浙江凯迪汽车部件工业有限公司
  65.             [dateline] => 1249303194
  66.         )
  67.     [8] => Array
  68.         (
  69.             [id] => 55
  70.             [uid] => 21
  71.             [title] => 磨工/铣工/安装
  72.             [corptitle] => 浙江凯迪汽车部件工业有限公司
  73.             [dateline] => 1249303152
  74.         )
  75.     [9] => Array
  76.         (
  77.             [id] => 54
  78.             [uid] => 21
  79.             [title] => 包装工
  80.             [corptitle] => 浙江凯迪汽车部件工业有限公司
  81.             [dateline] => 1249303102
  82.         )
  83.     [10] => Array
  84.         (
  85.             [id] => 53
  86.             [uid] => 21
  87.             [title] => 装配工
  88.             [corptitle] => 浙江凯迪汽车部件工业有限公司
  89.             [dateline] => 1249303038
  90.         )
  91.     [11] => Array
  92.         (
  93.             [id] => 52
  94.             [uid] => 21
  95.             [title] => 滚丝工
  96.             [corptitle] => 浙江凯迪汽车部件工业有限公司
  97.             [dateline] => 1249303006
  98.         )
  99.     [12] => Array
  100.         (
  101.             [id] => 51
  102.             [uid] => 21
  103.             [title] => 淬火工
  104.             [corptitle] => 浙江凯迪汽车部件工业有限公司
  105.             [dateline] => 1249302927
  106.         )
  107.     [13] => Array
  108.         (
  109.             [id] => 50
  110.             [uid] => 20
  111.             [title] => 焊接工程师
  112.             [corptitle] => 浙江万亨机械制造有限公司
  113.             [dateline] => 1249302619
  114.         )
  115.     [14] => Array
  116.         (
  117.             [id] => 49
  118.             [uid] => 20
  119.             [title] => 机械工程师
  120.             [corptitle] => 浙江万亨机械制造有限公司
  121.             [dateline] => 1249302590
  122.         )
  123.     [15] => Array
  124.         (
  125.             [id] => 48
  126.             [uid] => 20
  127.             [title] => 财会人员
  128.             [corptitle] => 浙江万亨机械制造有限公司
  129.             [dateline] => 1249302527
  130.         )
  131.     [16] => Array
  132.         (
  133.             [id] => 47
  134.             [uid] => 14
  135.             [title] => 成品仓库发货
  136.             [corptitle] => 玛斯特汽配有限公司
  137.             [dateline] => 1249302239
  138.         )
  139.     [17] => Array
  140.         (
  141.             [id] => 46
  142.             [uid] => 14
  143.             [title] => 材料配件仓库
  144.             [corptitle] => 玛斯特汽配有限公司
  145.             [dateline] => 1249302205
  146.         )
  147.     [18] => Array
  148.         (
  149.             [id] => 45
  150.             [uid] => 14
  151.             [title] => 车间统计
  152.             [corptitle] => 玛斯特汽配有限公司
  153.             [dateline] => 1249302169
  154.         )
  155.     [19] => Array
  156.         (
  157.             [id] => 44
  158.             [uid] => 14
  159.             [title] => 机械普工
  160.             [corptitle] => 玛斯特汽配有限公司
  161.             [dateline] => 1249302085
  162.         )
  163.     [20] => Array
  164.         (
  165.             [id] => 43
  166.             [uid] => 14
  167.             [title] => 液锻压工
  168.             [corptitle] => 玛斯特汽配有限公司
  169.             [dateline] => 1249302040
  170.         )
  171.     [21] => Array
  172.         (
  173.             [id] => 42
  174.             [uid] => 18
  175.             [title] => 打磨工
  176.             [corptitle] => 浙江乐客来机械有限公司
  177.             [dateline] => 1249260710
  178.         )
  179.     [22] => Array
  180.         (
  181.             [id] => 41
  182.             [uid] => 18
  183.             [title] => 装配工
  184.             [corptitle] => 浙江乐客来机械有限公司
  185.             [dateline] => 1249260687
  186.         )
  187.     [23] => Array
  188.         (
  189.             [id] => 40
  190.             [uid] => 18
  191.             [title] => 钣金工
  192.             [corptitle] => 浙江乐客来机械有限公司
  193.             [dateline] => 1249260660
  194.         )
  195.     [24] => Array
  196.         (
  197.             [id] => 39
  198.             [uid] => 18
  199.             [title] => 仓库管理 
  200.             [corptitle] => 浙江乐客来机械有限公司
  201.             [dateline] => 1249260621
  202.         )
  203.     [25] => Array
  204.         (
  205.             [id] => 38
  206.             [uid] => 18
  207.             [title] => 机械工程师
  208.             [corptitle] => 浙江乐客来机械有限公司
  209.             [dateline] => 1249260572
  210.         )
  211.     [26] => Array
  212.         (
  213.             [id] => 37
  214.             [uid] => 18
  215.             [title] => 质检员
  216.             [corptitle] => 浙江乐客来机械有限公司
  217.             [dateline] => 1249260526
  218.         )
  219.     [27] => Array
  220.         (
  221.             [id] => 36
  222.             [uid] => 18
  223.             [title] => 行政管理
  224.             [corptitle] => 浙江乐客来机械有限公司
  225.             [dateline] => 1249260489
  226.         )
  227.     [28] => Array
  228.         (
  229.             [id] => 28
  230.             [uid] => 17
  231.             [title] => 机械制图
  232.             [corptitle] => 浙北宏宇汽车摩托车配件有限公司
  233.             [dateline] => 1249260447
  234.         )
  235.     [29] => Array
  236.         (
  237.             [id] => 35
  238.             [uid] => 19
  239.             [title] => 设计员
  240.             [corptitle] => 浙江神耀运动器材有限公司
  241.             [dateline] => 1249260307
  242.         )
  243.     [30] => Array
  244.         (
  245.             [id] => 34
  246.             [uid] => 19
  247.             [title] => 仓库管理员
  248.             [corptitle] => 浙江神耀运动器材有限公司
  249.             [dateline] => 1249260284
  250.         )
  251.     [31] => Array
  252.         (
  253.             [id] => 33
  254.             [uid] => 19
  255.             [title] => 统计员
  256.             [corptitle] => 浙江神耀运动器材有限公司
  257.             [dateline] => 1249260251
  258.         )
  259.     [32] => Array
  260.         (
  261.             [id] => 32
  262.             [uid] => 19
  263.             [title] => 普工(机械制造)
  264.             [corptitle] => 浙江神耀运动器材有限公司
  265.             [dateline] => 1249260214
  266.         )
  267.     [33] => Array
  268.         (
  269.             [id] => 31
  270.             [uid] => 19
  271.             [title] => 普工(机械制造)
  272.             [corptitle] => 浙江神耀运动器材有限公司
  273.             [dateline] => 1249260165
  274.         )
  275.     [34] => Array
  276.         (
  277.             [id] => 30
  278.             [uid] => 18
  279.             [title] => 生产厂长
  280.             [corptitle] => 浙江乐客来机械有限公司
  281.             [dateline] => 1249110420
  282.         )
  283.     [35] => Array
  284.         (
  285.             [id] => 29
  286.             [uid] => 17
  287.             [title] => 品管兼车间主管
  288.             [corptitle] => 长兴浙北宏宇汽车摩托车配件有限公司
  289.             [dateline] => 1249110231
  290.         )
  291.     [36] => Array
  292.         (
  293.             [id] => 27
  294.             [uid] => 17
  295.             [title] => 模具设计
  296.             [corptitle] => 长兴浙北宏宇汽车摩托车配件有限公司
  297.             [dateline] => 1249110161
  298.         )
  299.     [37] => Array
  300.         (
  301.             [id] => 26
  302.             [uid] => 17
  303.             [title] => 内、外贸销售
  304.             [corptitle] => 长兴浙北宏宇汽车摩托车配件有限公司
  305.             [dateline] => 1249110118
  306.         )
  307.     [38] => Array
  308.         (
  309.             [id] => 25
  310.             [uid] => 16
  311.             [title] => 技术开发
  312.             [corptitle] => 浙江中辉汽车零部件有限公司
  313.             [dateline] => 1249109871
  314.         )
  315.     [39] => Array
  316.         (
  317.             [id] => 24
  318.             [uid] => 16
  319.             [title] => 钣金工
  320.             [corptitle] => 浙江中辉汽车零部件有限公司
  321.             [dateline] => 1249109828
  322.         )
  323.     [40] => Array
  324.         (
  325.             [id] => 23
  326.             [uid] => 14
  327.             [title] => 热处理工
  328.             [corptitle] => 玛斯特汽配有限公司
  329.             [dateline] => 1249028333
  330.         )
  331.     [41] => Array
  332.         (
  333.             [id] => 22
  334.             [uid] => 14
  335.             [title] => 数控机床工
  336.             [corptitle] => 玛斯特汽配有限公司
  337.             [dateline] => 1249016119
  338.         )
  339.     [42] => Array
  340.         (
  341.             [id] => 21
  342.             [uid] => 13
  343.             [title] => 外贸业务员
  344.             [corptitle] => 浙江奔兴汽车部件有限公司
  345.             [dateline] => 1248877053
  346.         )
  347.     [43] => Array
  348.         (
  349.             [id] => 20
  350.             [uid] => 13
  351.             [title] => 机械制图
  352.             [corptitle] => 浙江奔兴汽车部件有限公司
  353.             [dateline] => 1248873409
  354.         )
  355.     [44] => Array
  356.         (
  357.             [id] => 19
  358.             [uid] => 13
  359.             [title] => 注塑车间主任
  360.             [corptitle] => 浙江奔兴汽车部件有限公司
  361.             [dateline] => 1248872670
  362.         )
  363.     [45] => Array
  364.         (
  365.             [id] => 18
  366.             [uid] => 13
  367.             [title] => 滤清器生产厂长
  368.             [corptitle] => 浙江奔兴汽车部件有限公司
  369.             [dateline] => 1248853747
  370.         )
  371.     [46] => Array
  372.         (
  373.             [id] => 17
  374.             [uid] => 11
  375.             [title] => 工业工程师
  376.             [corptitle] => 浙江诺力机械股份有限公司
  377.             [dateline] => 1248852871
  378.         )
  379.     [47] => Array
  380.         (
  381.             [id] => 16
  382.             [uid] => 11
  383.             [title] => 副总秘书
  384.             [corptitle] => 浙江诺力机械股份有限公司
  385.             [dateline] => 1248852841
  386.         )
  387.     [48] => Array
  388.         (
  389.             [id] => 15
  390.             [uid] => 11
  391.             [title] => 电气工程师
  392.             [corptitle] => 浙江诺力机械股份有限公司
  393.             [dateline] => 1248852820
  394.         )
  395.     [49] => Array
  396.         (
  397.             [id] => 14
  398.             [uid] => 11
  399.             [title] => 机修工
  400.             [corptitle] => 浙江诺力机械股份有限公司
  401.             [dateline] => 1248852791
  402.         )
  403.     [50] => Array
  404.         (
  405.             [id] => 12
  406.             [uid] => 11
  407.             [title] => 电工
  408.             [corptitle] => 浙江诺力机械股份有限公司
  409.             [dateline] => 1248851738
  410.         )
  411.     [51] => Array
  412.         (
  413.             [id] => 11
  414.             [uid] => 11
  415.             [title] => 培养人员
  416.             [corptitle] => 浙江诺力机械股份有限公司
  417.             [dateline] => 1248850983
  418.         )
  419.     [52] => Array
  420.         (
  421.             [id] => 10
  422.             [uid] => 11
  423.             [title] => 车工
  424.             [corptitle] => 浙江诺力机械股份有限公司
  425.             [dateline] => 1248850843
  426.         )
  427.     [53] => Array
  428.         (
  429.             [id] => 9
  430.             [uid] => 11
  431.             [title] => 工艺员
  432.             [corptitle] => 浙江诺力机械股份有限公司
  433.             [dateline] => 1248850691
  434.         )
  435.     [54] => Array
  436.         (
  437.             [id] => 8
  438.             [uid] => 11
  439.             [title] => 测试工程师
  440.             [corptitle] => 浙江诺力机械股份有限公司
  441.             [dateline] => 1248850353
  442.         )
  443.     [55] => Array
  444.         (
  445.             [id] => 7
  446.             [uid] => 11
  447.             [title] => 车间储备干部
  448.             [corptitle] => 浙江诺力机械股份有限公司
  449.             [dateline] => 1248850242
  450.         )
  451.     [56] => Array
  452.         (
  453.             [id] => 6
  454.             [uid] => 11
  455.             [title] => 操作工
  456.             [corptitle] => 浙江诺力机械股份有限公司
  457.             [dateline] => 1248848156
  458.         )
  459.     [57] => Array
  460.         (
  461.             [id] => 5
  462.             [uid] => 11
  463.             [title] => 模具工
  464.             [corptitle] => 浙江诺力机械股份有限公司
  465.             [dateline] => 1248676543
  466.         )
  467. )
复制代码


这么一个数组,遇到 arr1[arr2][uid] 重复的时候,只取出重复的第一条,其它的把arr1[arr2][title]叠加到一个新的字段,arr1[arr2][title2],这样可行不!
我写了这样的一个函式,前面一半问题解决了!字段叠加还没搞定,你能帮我想想办法不!

  1. function array_uniquecolumn($arr)
  2. {
  3.     $rows   = sizeof($arr);
  4.     $columns = sizeof($arr[0]);
  5.    
  6.     $columnkeys = array_keys($arr[0]);
  7.     for($i=0; $i<$columns; $i++)
  8.     {
  9.         for($j=0;$j<$rows;$j++)
  10.         {
  11.             for($k = $j+1; $k<$rows; $k++)
  12.             {
  13.                 if($arr[$j][$columnkeys[$i]] == $arr[$k][$columnkeys[$i]])
  14.                     unset($arr[$k]);
  15.             }
  16.         }
  17.     }
  18. return ($arr);
  19. }
复制代码

论坛徽章:
0
8 [报告]
发表于 2009-08-05 11:16 |只看该作者
<?php
$arr = array(
        array(
                'id'=>1,
                'uid'=>1,
                'title'=>'title1',       
        )        ,
        array(
                'id'=>2,
                'uid'=>1,
                'title'=>'title2'       
        ),
        array(
                'id'=>3,
                'uid'=>1,
                'title'=>'titl3'       
        ),
        array(
                'id'=>4,
                'uid'=>2,
                'title'=>'title4',       
        ),
        array(
                'id'=>5,
                'uid'=>2,
                'title'=>'titl5',       
        ),
                array(
                'id'=>6,
                'uid'=>2,
                'title'=>'titl6',       
        ),
        array(
                'id'=>6,
                'uid'=>3,
                'title'=>'titl5',       
        ),
                array(
                'id'=>7,
                'uid'=>2,
                'title'=>'titl6',       
        ),

);
array_uniquecolumn($arr);
var_dump($arr);
function array_uniquecolumn(&$arr)
{
        $tmp = $tmp_position = $del_arr= array();
        foreach($arr as $k=>$v){
                if(in_array($v['uid'],$tmp_position)){
                               $postion = record_position($tmp_position,$v['uid']);
                        $record = array_search($v['uid'],$tmp_position);
                        //增加字
                        $arr[$record]['title'.$postion] = $v['title'];
                         $del_arr[$k]=$v['uid'];
                }
                $tmp_position[$k]=$v['uid'];       
        }
       
        foreach($del_arr as $k=>$v){
                unset($arr[$k]);
        }
return ;
}

//获得添加字段名称
function record_position($arr,$uid)
{
        $i=1;
        foreach($arr as $k=>$v){
                if($v==$uid){
                $i++;
                }
        }
        return $i;

}

?>
试下 可以么

[ 本帖最后由 pxllonga 于 2009-8-5 13:21 编辑 ]

论坛徽章:
0
9 [报告]
发表于 2009-08-05 14:01 |只看该作者
直接 "{$title}2" 不就好了。

论坛徽章:
0
10 [报告]
发表于 2009-08-07 13:07 |只看该作者

  1. function array_uniquecolumn($arr,$key1,$key2,$key3){
  2.         $arrNew=array();
  3.         foreach($arr as $key=>$val){
  4.                 if(!in_array($val[$key1],array_keys($arrTemp))){
  5.                         $arrTemp[$val[$key1]]=$key;
  6.                         $val[$key3].=$val[$key2].'/';
  7.                         $arrNew[$key]=$val;
  8.                 }else{
  9.                         $arrNew[$arrTemp[$val[$key1]]][$key3].=$val[$key2].'/';
  10.                 }
  11.         }
  12.         return $arrNew;
  13. }
复制代码


上面函式搞定!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP