如何在php中安排以下列表,
实际上我们将从 MySQL数据库(选择输出)获取项目数组列表。
例如,
如果我们将获得如下所示的数组列表
$item_arr = array("102","101","103","103","101","101","102","103","102");
我们必须安排如下,
101 102 103 101 102 103 101 102 103
再次如果数组列表如下,
$item_arr = array("102","103","102","101","103","101","103","103","101");
我们必须安排如下,
101 102 103 101 103 103 101 102 103
再次如果数组列表如下,
$item_arr = array("103","101","102","103","102","102","102","103","102");
我们必须安排如下,
101 102 103 102 102 103 102 102 103
$rtr_item_arr = arrange_item($item_arr);
function arrange_item($results)
{
$last_val="";
$unique_only = array();
$additional = array();
foreach($results as $val):
if(in_array($val, $unique_only)):
$additional[] = $val;
endif;
if($val != $last_val && !in_array($val,$unique_only)):
echo $val." ";
$unique_only[] = $val;
endif;
$last_val = $val;
endforeach;
$additional = array_filter($additional);
if(!empty($additional)):
arrange_item($additional);
endif;
}
如何安排保持相似性另一方面,如何安排好。
请提出任何建议?
答案 0 :(得分:0)
看起来你正在重复101,102,103的模式,无论它从数据库出来的顺序如何。 我没有在这里看到您的SQL,但您可以按101,102,103字段进行分组,并计算101,102,103字段的每个实例的实例数,并创建一个关联数组:
$item_arr = array(101=>count of 101,102=>count of 102,...)
然后在PHP中使用从0到最高计数的循环将它们排列在另一个数组中。每次通过循环时,如果值>>,则将每个键添加到新阵列。 0并从每个键值对的值中减去1。