Php 具有相同外壳的开关
我正在尝试创建一个页面,它基本上可以提取视频流,并根据观众数量对其进行组织,因此浏览量最多的页面位于页面顶部 我对PHP还相当陌生,所以我使用的方法非常低效且耗时,但要知道的主要是我使用嵌套开关 当每个视频都有不同数量的观众超过0时,这一点非常有效。当两个视频拥有相同数量的观众时,我的问题就来了。当这种情况发生时,所有流都保留其原始顺序 下面是导致问题的代码片段的精简版本Php 具有相同外壳的开关,php,Php,我正在尝试创建一个页面,它基本上可以提取视频流,并根据观众数量对其进行组织,因此浏览量最多的页面位于页面顶部 我对PHP还相当陌生,所以我使用的方法非常低效且耗时,但要知道的主要是我使用嵌套开关 当每个视频都有不同数量的观众超过0时,这一点非常有效。当两个视频拥有相同数量的观众时,我的问题就来了。当这种情况发生时,所有流都保留其原始顺序 下面是导致问题的代码片段的精简版本 $viewarray = array($viewers1, $viewers2, $viewers3, $viewers4)
$viewarray = array($viewers1, $viewers2, $viewers3, $viewers4);
rsort($viewarray, SORT_NUMERIC);
for ($z=0; $z<=3; $z++)
{
if ($viewarray[$z] == 0) {break;}
switch($viewarray[$z])
{
case $viewers1:
switch($z)
{
case 0:
//code which implements the re-ordering
case 1:
case 2:
case 3:
}
break;
case $viewers2:
switch($z)
{
case 0:
case 1:
case 2:
case 3:
}
break;
case $viewers3:
switch($z)
{
case 0:
case 1:
case 2:
case 3:
}
break;
case $viewers4:
switch($z)
{
case 0:
case 1:
case 2:
case 3:
}
break;
}
}
$viewarray=array($viewers1、$viewers2、$viewers3、$viewers4);
rsort($viewarray,SORT\ U NUMERIC);
对于($z=0;$zwhoa-whoa-whoa-whoa。放弃这整件事。你应该做的更像是,每个流都应该有一个数据库记录。每当有人查看流时,数据库记录中的一列应该作为视图计数器递增。然后,在数据库表中的该列中添加一个索引,然后从要列出它们,只需在SQL查询中按视图数列排序。按viewCounter排序
编辑:仅当无法按正确顺序获取视频时才执行此操作!
为什么不执行如下关联数组:array($video2=>$viewers1,$video2=>$viewers2)
然后您可以根据值进行排序。然后您可以使用并读取数组中的视频键来处理重新排序。我以后可能会这样做,以提高效率,但现在我只使用PHP。这似乎可行,但我在使用arsort()时遇到了问题。如果我使用它,然后尝试通过它们的键再次调用数组,它们仍将保持原始顺序。我可以以正确的顺序获得它的唯一方法是使用使用foreach循环的示例。如果我可以使顺序保持不变,那么我可以按索引切换,但它不起作用。