1使用PHP的排序函数对以下中的数组排序。 2.在表单上由用户输入学号,姓名和成绩这三列的数据,一共5行。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1使用PHP的排序函数对以下中的数组排序。 2.在表单上由用户输入学号,姓名和成绩这三列的数据,一共5行。相关的知识,希望对你有一定的参考价值。
将用户输入的数据组合一个二维数组,根据成绩值对二维数组进行排序,并将结果以表格形式输出。
把答案发到我邮箱610085385@qq.com,谢谢了。
<?php
echo "请输入需要排序的数据:<br>";
echo "<form method=post>";
for($i=1;$i<6;$i++)
echo"<input type='text' name='stu[]' size='5'>";
if($i<5)
echo"-";
echo"<input type='submit' name='bt' value='提交'>";
echo"</form>";
if(isset($_POST['bt']))
$temp=0;
$stu=$_POST['stu'];
$num=count($stu);
echo"您输入的数据有: <br>";
foreach ($stu as $score)
echo $score."<br>";
for($i=0;$i<$num;$i++)
for($j=$i+1;$j<$num;$j++)
if($stu[$i]>$stu[$j])
$temp=$stu[$i];
$stu[$i]=$stu[$j];
$stu[$j]=$temp;
echo "排序后的数据如图下所示: <br>";
while(list($key,$value)=each($stu))
echo $value."<br>";
?>
<?php
header(\'Content-type:text/html;charset=utf-8\');
//2维数组排序
function sysSortArray($ArrayData, $KeyName1, $SortOrder1 = "SORT_ASC", $SortType1 = "SORT_REGULAR")
if (!is_array($ArrayData))
return $ArrayData;
// Get args number.
$ArgCount = func_num_args();
// Get keys to sort by and put them to SortRule array.
for ($I = 1; $I < $ArgCount; $I++)
$Arg = func_get_arg($I);
if (!eregi("SORT", $Arg))
$KeyNameList[] = $Arg;
$SortRule[] = \'$\' . $Arg;
else
$SortRule[] = $Arg;
// Get the values according to the keys and put them to array.
foreach ($ArrayData as $Key => $Info)
foreach ($KeyNameList as $KeyName)
$$KeyName[$Key] = $Info[$KeyName];
// Create the eval string and eval it.
$EvalString = \'array_multisort(\' . join(",", $SortRule) . \',$ArrayData);\';
eval($EvalString);
return $ArrayData;
$keys = array(\'stu_no\',\'name\',\'price\');
//输出表格
echo "请输入需要排序的数据:<br>";
echo "<form method=post>";
echo "<table>";
echo "<tr><td>学号</td><td>姓名</td><td>成绩<td></tr>";
for ($row = 1; $row < 6; $row++)
echo "<tr>";
for ($col = 1; $col < 4; $col++)
echo "<td><input type=\'text\' name=\'stu_$row" . "_$col\' size=\'10\'></td>";
echo "</tr>";
echo "</table>";
echo "<input type=\'submit\' name=\'bt\' value=\'提交\'>";
echo "</form>";
//转换数组
if (isset($_POST[\'bt\']))
for ($row = 1; $row < 6; $row++)
for ($col = 1; $col < 4; $col++)
$key = $keys[$col-1];
$stu[$row][$key] = $_POST[\'stu_\' . $row . \'_\' . $col];
echo \'<pre>\';
print_r($stu);
echo \'</pre>\';
//排序
$temp = sysSortArray($stu,\'price\',"SORT_ASC");
echo \'<pre>\';
print_r($temp);
echo \'</pre>\'
?> 参考技术A <?php
echo "请输入需要排序的数据:";
echo "<form method=post>"; //新建表单
for($i=1;$i<6;$i++) //循环生成文本框
//文本框的名字是数组名
echo "<input type=text name='stu[]' >";
echo "<input type=submit name=bt value='提交'>"; //提交按钮
echo "</form>";
if(isset($_POST['bt']))
$sum=0;
$stu=$_POST['stu']; //取得所有文本框的值并赋予数组$stu
$num=count($stu); //计算数组$stu元素个数
echo "您输入的数据有:<br/>";
foreach($stu as $score)
echo $score."<br/>"; //输出接收的值
$sum=$sum+$score;
echo "排序后的数据为:<br/>";
function bubbleSort($arr)
// 外层循环控制需要比较的轮数
for ($i = 1, $len = count($arr); $i < $len; ++$i)
for ($j = 0; $j < $len - $i; ++$j) // 内层循环控制参与比较的元素
if ($arr[$j] > $arr[$j + 1]) // 比较相邻的两个元素
$temp = $arr[$j];
$arr[$j] = $arr[$j + 1];
$arr[$j + 1] = $temp;
return $arr;
$sort=bubbleSort($stu);
foreach ($sort as $sco)
echo $sco."<br>";
echo "5个数据和为:".$sum."<br/>";
echo "5个数据平均数为:".$sum/$num."<br/>";
?>
php之快速入门学习-11(数组排序)
PHP 数组排序
数组中的元素可以按字母或数字顺序进行降序或升序排列。
PHP - 数组排序函数
在本章中,我们将一一介绍下列 PHP 数组排序函数:
- sort() - 对数组进行升序排列
- rsort() - 对数组进行降序排列
- asort() - 根据关联数组的值,对数组进行升序排列
- ksort() - 根据关联数组的键,对数组进行升序排列
- arsort() - 根据关联数组的值,对数组进行降序排列
- krsort() - 根据关联数组的键,对数组进行降序排列
sort() - 对数组进行升序排列
下面的实例将 $cars 数组中的元素按照字母升序排列:
<?php $cars=array("Volvo","BMW","Toyota"); sort($cars); ?>
下面的实例将 $numbers 数组中的元素按照数字升序排列:
<?php $numbers=array(4,6,2,22,11); sort($numbers); ?>
rsort() - 对数组进行降序排列
下面的实例将 $cars 数组中的元素按照字母降序排列:
<?php $cars=array("Volvo","BMW","Toyota"); rsort($cars); ?>
下面的实例将 $numbers 数组中的元素按照数字降序排列:
<?php $numbers=array(4,6,2,22,11); rsort($numbers); ?>
asort() - 根据数组的值,对数组进行升序排列
下面的实例根据数组的值,对关联数组进行升序排列:
<?php $age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43"); asort($age); ?>
ksort() - 根据数组的键,对数组进行升序排列
下面的实例根据数组的键,对关联数组进行升序排列:
<?php $age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43"); ksort($age); ?>
arsort() - 根据数组的值,对数组进行降序排列
下面的实例根据数组的值,对关联数组进行降序排列:
<?php $age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43"); arsort($age); ?>
krsort() - 根据数组的键,对数组进行降序排列
下面的实例根据数组的键,对关联数组进行降序排列:
<?php $age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43"); krsort($age); ?>
以上是关于1使用PHP的排序函数对以下中的数组排序。 2.在表单上由用户输入学号,姓名和成绩这三列的数据,一共5行。的主要内容,如果未能解决你的问题,请参考以下文章
PHP中的排序函数sortasortrsortkrsortksort区别分析
PHP中的排序函数sortasortrsortkrsortksort区别分析