如何在数据库的多维数组中显示值,同时保持值的唯一性


How do I display values in an multi-dimensional array from database while keeping values unique?

如何在数据库中显示该维度数组中的所有值而不显示重复值?

下面是一个示例代码。

$darray = Array
(
Array ( [0] => apple, [1] => pear, [2] => appetiser )
Array ( [0] => apple, [1] => pear, [2] => appetiser )
Array ( [0] => indian, [1] => vegetarian, [2] => entree )
Array ( [0] => german, [1] => snack, [2] => vegetarian ) 
Array ( [0] => mexican, [1] => soup, [2] => pear )
Array ( [0] => apple, [1] => snack )
Array ( [0] => italian, [1] => entree, [2] => pear, [3] => vegetarian )
)

您还可以使用一个中间存储数组来存储您已经打印的值,并对其进行查询,以确保您只打印唯一的数组值。

<?php
$darray = array
(
    array ( 0 => 'apple', 1 => 'pear', 2 => 'appetiser' ),
    array ( 0 => 'apple', 1 => 'pear', 2 => 'appetiser' ),
    array ( 0 => 'indian', 1 => 'vegetarian', 2 => 'entree' ),
    array ( 0 => 'german', 1 => 'snack', 2 => 'vegetarian' ) ,
    array ( 0 => 'mexican', 1 => 'soup', 2 => 'pear' ),
    array ( 0 => 'apple', 1 => 'snack' ),
    array ( 0 => 'italian', 1 => 'entree', 2 => 'pear', 3 => 'vegetarian' )
);
$printedArray = array();
foreach($darray as $darr)
{
    foreach($darr as $val)
    {
        if(!in_array($val,$printedArray))
        {
            echo $val."<br>"; 
            //you could alternately store the value into an array[] here
            //and print it later...
            array_push($printedArray,$val);
        }   
    }
}
?>

这应该打印:

apple
pear
appetiser
indian
vegetarian
entree
german
snack
mexican
soup
italian

循环遍历多维数组,收集值并使用array_unique()提取唯一值:

<?php
$darray = array
(
    array('apple', 'pear', 'appetiser'),
    array('apple', 'pear', 'appetiser'),
    array('indian', 'vegetarian', 'entree',),
    array('german', 'snack', 'vegetarian') ,
    array('mexican', 'soup', 'pear'),
    array('apple', 'snack'),
    array('italian', 'entree', 'pear', 'vegetarian'),
);
$array = array();
foreach ($darray as $monodimensional_array)
{
    foreach ($monodimensional_array as $value)
    {
        $array[] = $value;
    }
}
$array = array_unique($array);