PHP sorts the array values, using another container, php array sorting
PHP sorts the array values, using another container
<?<span>php
</span><span>/*</span><span> 排序方式::事实上只需要将要循环的数组进行N次循环,然后每次取最大的一个值</span><span>*/</span>
<span>$array</span> = <span>array</span>(100,25,10,258,33,48,10,5,13,58,333,108,1.2,5,3,33,0.7);<span>//</span><span>3 1 2 | 1 2 | 1 |</span>
<span>$array2</span> = <span>array</span><span>();
</span><span>for</span>(<span>$y</span>=1;<span>$y</span><=17;<span>$y</span>++<span>){
</span><span>$max</span> = 0<span>;
</span><span>for</span>(<span>$i</span>=0;<span>$i</span><<span>count</span>(<span>$array</span>);<span>$i</span>++<span>){
</span><span>if</span>(<span>$array</span>[<span>$i</span>] > <span>$max</span><span>){
</span><span>$index</span> = <span>$i</span><span>;
</span><span>$max</span> = <span>$array</span>[<span>$i</span><span>];
}
}
</span><span>unset</span>(<span>$array</span>[<span>$index</span><span>]);
</span><span>sort</span>(<span>$array</span><span>);
</span><span>array_push</span>(<span>$array2</span>,<span>$max</span><span>);
}
</span><span>print_r</span>(<span>$array2</span><span>);
</span>?>
Copy after login
It took me a while to finally complete this assignment, which can be regarded as a kind of exercise. The following is the code. Although it feels relatively inefficient, why not use a database?
header('Content-type:text/html;charset=utf-8');
//2-dimensional array sorting
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');
//Output form
echo "Please enter the data to be sorted:
";
echo "
";
//Convert array
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 '
' ;<br> print_r($stu);<br> echo '
';
}
//Sort
$temp = sysSortArray($stu,' price',"SORT_ASC");
echo '
';<br>print_r($temp);<br>echo '
'
?> ;
array_change_key_case -- Returns an array whose string keys are all lowercase or uppercase
array_chunk -- Split an array into multiple
array_combine -- Create an array, using the value of one array as its key name, and another The value of the array as its value
array_count_values -- Counts the number of occurrences of all values in the array
array_diff_assoc -- Computes the difference of arrays with index check
array_diff_uassoc -- Computes the difference of arrays with additional index check which is performed by a user supplied callback function.
array_diff -- Calculate the difference of an array
array_fill -- Fill the array with the given value
array_filter -- Use the callback function to filter the cells in the array
array_flip -- Swap the keys and values in the array
array_intersect_assoc -- Calculate the intersection of arrays with index check
array_intersect -- Calculate the intersection of arrays
array_key_exists -- Check if the given key name or index exists In an array
array_keys -- Returns all key names in the array
array_map -- Apply the callback function to the cells of the given array
array_merge_recursive -- Recursively merge two or more arrays
array_merge -- Merge two or more arrays
array_multisort -- Sort multiple arrays or multidimensional arrays
array_pad -- Pad the array to the specified length with values
array_pop -- Sort the last one in the array Unit pop (pop)
array_push -- Push one or more units to the end of the array (push)
array_rand -- Randomly take one or more units from the array
array_reduce -- Use The callback function iteratively reduces the array to a single value
array_reverse -- returns an array with the cells in reverse order
array_search -- searches for the given value in the array, and returns the corresponding key name if successful
array_shift -- Move the beginning of the array out of the array
array_slice -- Remove a segment from the array
array_splice -- Remove a portion of the array and replace it with other values
array_sum -- Calculate the sum of all values in the array
array_udiff_assoc -- Computes the difference of arrays with additional index check. The data is compared by using a callback function.
array_udiff_uassoc -- Computes the difference of arrays with additional index check. function. The index check is done by a callback function also
array_udiff -- Computes the difference of arrays by using a callback function for data comparison.
array_unique -- Remove duplicate values in the array
array_unshift - - Insert one or more cells at the beginning of the array
array_values -- Return all values in the array
array_walk -- Apply user function to each member in the array
array -- Create a new array
arsort -- Sort the array in reverse order and maintain the index relationship
asort -- Sort the array and maintain the index relationship
compact -- Create an array, including variable names and their values
count -- Statistical variables Number of cells in
current -- Returns the current cell in the array
each -- Returns the current key/value pair in the array and moves the array pointer forward one step
end -- Moves the internal pointer of the array Point to the last unit
extract -- Import variables from the array into the current symbol table
in_array -- Check whether a certain value exists in the array
key -- Get the key name from the combined array
krsort -- Sort the array in reverse order by key name
ksort -- Sort the array by key name
list -- Assign the values in the array to some variables
natcasesort -- Use the "natural sorting" algorithm Sort the array in a case-insensitive manner
natsort -- Sort the array using the "natural sorting" algorithm
next -- Move the internal pointer in the array forward one bit
pos -- Get the array Current unit
prev -- Rewind the internal pointer of the array by one bit
range -- Create an array containing units in the specified range
reset -- Point the internal pointer of the array to the first unit
rsort -- reverse sort the array
shuffle -- shuffle the array
sizeof -- alias of count()
sort -- sort the array
uasort -- use user-defined comparison The function sorts the values in the array and maintains the index association
uksort - uses a user-defined comparison function to sort the keys in the array
usort - uses a user-defined comparison function to sort the keys in the array Sort by value
http://www.bkjia.com/PHPjc/827774.htmlwww.bkjia.comtruehttp: //www.bkjia.com/PHPjc/827774.htmlTechArticlePHP sorts the array values, using another container, php array sorting PHP sorts the array values, uses another A container? php /* Sorting method:: In fact, you only need to loop...