【问题标题】:Combing value of same elements相同元素的组合值
【发布时间】:2017-03-01 10:19:04
【问题描述】:

This is data that is coming from previous page

现在我想这样显示我的数据

Array
(
    [0] => Array
        (
            [name] => Samsung
            [serial] => fsa
            [unit_price] => 8800
        )

    [1] => Array
        (
            [name] => N100
            [serial] => tr , qw , re
            [unit_price] => 8480
        )

    [3] => Array
        (
            [name] => N98
            [serial] => n9t
            [unit_price] => 7980
        )

)

意思是合并相同元素的值 N100

【问题讨论】:

  • 您尝试过什么来实现这一目标?问题出在哪里?
  • 在此处发布您的代码
  • 我有不同的序列号,不同的项目名称,一件可以有多个序列号,所以我想合并相同项目名称的序列号
  • 如果你搜索,你会得到很多解决方案,最好也尝试一下。
  • 我搜索但没有找到符合我要求的解决方案

标签: php


【解决方案1】:

试试这个

    $data = array();
        foreach($d as $key => $value) {
            if(key_exists($value["name"], $data)) {
                $d = $data[$value["name"]];
                $d["serial"] .= $value["serial"] . ", ";
                $data[$value["name"]] = $d;
            }
            else {
                $data[$value["name"]] = array( "name" => $value["name"], "serial" => $value["serial"]. ", ", "unit_price" => $value["unit_price"] );
            }
        }

echo "<pre>";
print_r($data);
echo "</pre>";

【讨论】:

    【解决方案2】:

    希望对你有帮助

    $arr1=array();
    foreach($arr as $key=>$value){
        unset($arr[$key]);
        if(!array_key_exists($value['name'],$arr1)){
            foreach($arr as $key1=>$value1){
            if($value['name']==$value1['name']){
                $value['serial'] =$value['serial'].",".$value1['serial'];
            }
        }
        $arr1[$value['name']]=$value;
    
        }   
    }
    echo "<pre>";
    print_r($arr1);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-09
      相关资源
      最近更新 更多