$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>';
}
Ejemplo n.º 2
0
    <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>
Ejemplo n.º 3
0
<?php

include './Utils.php';
include './Contacts.php';
printArr($_FILES);
if ($_FILES['file']['error'] > 0) {
    die;
}
echo '文件为空';