重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
?php
成都创新互联公司专注于安图网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供安图营销型网站建设,安图网站制作、安图网页设计、安图网站官网定制、小程序定制开发服务,打造安图网络公司原创品牌,更为您提供安图网站排名全网营销落地服务。
//排序
$arr1=array(1,2,3,4,5,8,9);
$min=$arr1[0];
$count=count($arr1);
for ($i=1; $i $count ; $i++) {
for ($j=0; $j $count-$i ; $j++) {
if ($arr1[$j]$arr1[$j+1]) {
$min=$arr1[$j+1];
$arr1[$j+1]=$arr1[$j];
$arr1[$j]=$min;
}
}
}
//各元素与6相减
for ($i=0; $i $count ; $i++) {
$arr2[]=abs($arr1[$i]-6);
}
//取$arr2最小值
$min_arr2=$arr2[0];
for ($i=0; $i $count ; $i++) {
if ($min_arr2$arr2[$i]) {
$min_arr2=$arr2[$i];
}
}
for ($i=0; $i $count; $i++) {
if ($arr2[$i]==$min_arr2) {
echo $arr1[$i];
}
}
?
例如你的数字字段有a、b、c、d,需要查询时显示那么之和,并按综合排序,SQL语句可以这样写:
SELECT a+b+c+d, a, b, c, d FROM 表名 ORDER BY 1
上面的例子典型的应用是学生成绩计算总分,其实可以加总和,也可以部分字段减,例如a+b+c-d,例如用来计算工资等。
对于你补充的例子,我修改你的SQL语句为:
$result = mysql_query("SELECT info1+info2,* FROM stats ORDER BY 1,data2 DESC LIMIT 20");
1、在test.php文件内,使用header设置test.php执行的编码为utf8,避免输出中文的时候出现乱码。
2、在test.php文件内,创建一个测试的数组,例如,定义一个分类的数组,其对应的索引值分别为0,4,8。
3、在test.php文件内,使用array_values()方法将上一步的数据重新排序,并且从0开始,把重新排序的数组保存在$result变量中。
4、在test.php文件内,使用foreach方法遍历数组,其中$k为索引值,$v为索引值对应的数组值。
5、在test.php文件内,使用echo方法输出数组中的索引值和对应的数组值即可。