$baseNum = $arr[0]; $leftArr = array(); $rightArr = array(); for ($i = 1; $i < count($arr); $i++) { //第一个元素为基准数,不参与比较过程 if ($arr[$i] < $baseNum) { $leftArr[] = $arr[$i]; } else { $rightArr[] = $arr[$i]; } } //这里会一直向下递归执行,直到$leftArr只有一个元素的时候,$rightArr也是。然后从最深处返回式地,依次执行下面的合并过程 $leftArr = quick_sort($leftArr); $rightArr = quick_sort($rightArr); //用于调试理解递归调用过程,递归会一直往深处执行,直到$leftArr和$rightArr有返回结果时,执行下面的合并过程 //printArr($leftArr); //printArr($rightArr); //echo '<br/>*************<br/>'; $res = array_merge($leftArr, array($baseNum), $rightArr); //每次合并已排序好的$leftArr、$rightArr,则最终的结果也是已排序的 return $res; } $arr = array(1, 3, 222, 2, 12, 9, 78, 0); $sortArr = quick_sort($arr); printArr($sortArr); function printArr($arr) { echo '<pre>'; print_r($arr); echo '</pre>'; }
<body> <?php require '.\\Utils.php'; $urls = array("文件上传" => "upload.xhtml", "htmlspecialchars使用示例" => "htmlspecialcharsDemo.php"); ?> <table> <?php foreach ($urls as $key => $value) { echo "<tr>"; echo "<td><a href='" . $value . "'>" . $key . "</a></td>"; echo "</tr>"; } ?> </table> <?php printArr($_SERVER); if (isset($_SESSION)) { printArr($_SESSION); } printArr($urls); echo TEMP_DIR . "<br />"; echo __DIR__ . "<br />"; $fileName = TEMP_DIR . "\\test.txt"; writeFile($fileName, "哈哈\t很爱很爱你哟\t" . date("Y-m-d H:i:s") . "\n", true); // printFile($fileName); echo "<br/>文件大小:" . sprintf("%.2f", filesize($fileName) / 1024.0) . "kb"; ?> </body> </html>
<?php include './Utils.php'; include './Contacts.php'; printArr($_FILES); if ($_FILES['file']['error'] > 0) { die; } echo '文件为空';