簡體   English   中英

如何在PHP中將array_unique的字符串轉換為數組

[英]How to convert string to array in PHP for array_unique

如何從數組中的MYSQL轉換我的值字符串? 所以我可以使用array_unique。 因為我在一列中有多個重復項。 當我回聲。 它以PHP顯示所有內容。 我試過DISTINCT,但它只返回一列,而不返回其他列。

在此處輸入圖片說明 不斷重復名稱(BOLD RED)。

碼:

$querysql= "SELECT * FROM `stock` WHERE ID = '$id' ";

$fetchdata = $database->query($querysql);

while($rows= $fetchdata->fetch_assoc()) {

echo "<div id='companylocal'>";
    echo $rows['Company_Locate'];
echo "</div>";
}

嘗試在查詢中使用GROUP BY

$querysql= "SELECT * FROM `stock` WHERE ID = '$id' GROUP BY Company_Locate";

嘗試這個,

$querysql= "SELECT * FROM `stock` WHERE ID = '$id' ";

$fetchdata = $database->query($querysql);

while($row= $fetchdata->fetch_assoc()) {
    $rows[] = $row['Company_Locate'];
}
$rows = array_unique($rows);
print_r($rows);

表名稱: 測試


| id | colA | colB |


| 5 | 值5 | 值C |


| 4 | 值4 | 值B |


| 3 | 值3 | 值B |


| 2 | 值2 | 值B |


| 1 | 值1 | 值A |


從上面的示例中。 column(colA)具有唯一值,而column(colB)具有重復值。 按column(colB)分組查詢將返回具有column(colB)中唯一值的行

SQL: SELECT id,colA,colB FROM test GROUP BY colB返回:


| id | colA | colB |


| 1 | 值1 | 值A |


| 2 | 值2 | 值B |


| 5 | 值5 | 值C |


有關更多更好的解釋,請檢查https://www.w3schools.com/sql/sql_groupby.asp

$DataFromDatabase = [ ['id' => 1,
                   'colA' => "value 1",
                   'colB' => "value A"
                  ],
                  ['id' => 2,
                   'colA' => "value 2",
                   'colB' => "value B"
                  ],
                  ['id' => 3,
                   'colA' => "value 3",
                   'colB' => "value B"
                  ],
                  ['id' => 4,
                   'colA' => "value 4",
                   'colB' => "value B"
                  ],
                  ['id' => 5,
                   'colA' => "value 5",
                   'colB' => "value C"
                  ]
                ];
    echo "Data FROM database<br/>";

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

//Unique Array $UniqueArray = [];

//Loop the Database result
foreach($DataFromDatabase AS $data){
    //Make the unique value your key for your array
    $UniqueArray[$data['colB']][] = ['id' => $data['id'],
                                     'colA' => $data['colA']
                                    ];
}

echo "Unique Array<br/>";
echo "<pre>";
print_r($UniqueArray);
echo "</pre>";

您的uniqueArray的結果將如下所示:

Array
(
    [value A] => Array
        (
            [0] => Array
                (
                    [id] => 1
                    [colA] => value 1
                )

        )

    [value B] => Array
        (
            [0] => Array
                (
                    [id] => 2
                    [colA] => value 2
                )

            [1] => Array
                (
                    [id] => 3
                    [colA] => value 3
                )

            [2] => Array
                (
                    [id] => 4
                    [colA] => value 4
                )

        )

    [value C] => Array
        (
            [0] => Array
                (
                    [id] => 5
                    [colA] => value 5
                )

        )

)

值堆疊在每個唯一的column(colB)值上。 現在由您決定如何打印數組的值

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM