PHP100学习随记_01

系统常量:
1._FILE_  默认常量,是指PHP程序文件名及路径;
2._LINE_  默认常量,是指PHP程序的行数;

3._CLASS_  类的名称;

地址映射:

function fun(&$n){
    $n *= $n;
}
$p = 2;
fun($p);
echo $p;  //结果为4,这种写法是有好处的
判断一个是不是数组:
内置函数:is_array();
 
作业一:
//要求:遍历数组中的每个元素,打印
//简单到难以置信
<?php
$arr = array(array(3.45,63,array("wet","doll",array(9,10))),2,5,234,6);
function printArray($arr){
        foreach ($arr as $key=>$val){
                if(is_array($val)){
                        printArray($val);
                }else {
                        echo $val . " ";
                }
        }
}
printArray($arr);
?>
数组正序倒序:
sort($arr),rsort($arr);
作业二:
//遍历文件地址
//想着简单,但是做着就会发现很多问题
<?php
function printDir($dir) {
    $arr = scandir($dir);
    foreach ($arr as $son){
        if ($son!="." && $son!=".." && is_dir($dir."/".$son)){
            printDir($dir."/".$son);
        }else {
            echo $dir."/".$son."<br/>";
        }
    }
}
printDir("e:/jdk-7u21");
?>
mysql,查询表user,id倒序,age小于30岁,不重复职业job,取前10条
//这遵循一个书写规则
//WGOL
Select * from user where age<30 group by job order by id desc limit 10;
开源中国课外作业:
//俩随机数组,任意排列,任意对调,使调整后的俩数组的和的差最小
//我的思路是把俩数组先混合成一个数组,排序,再按照一定的规则拆分
<?php
function createRandomArr($len) {
    $arr = array();
    for ($i = 0; $i < $len; $i++) {
        $arr[$i] = rand(1, 100);
    }
    return $arr;
}
function combine2arrs($arr1,$arr2) {
    $tempArr = array();
    for ($i = 0; $i < count($arr1)*2; $i++) {
        if ($i<10)
            $tempArr[$i] = $arr1[$i];
        else 
            $tempArr[$i] = $arr2[$i-10];
    }
    sort($tempArr);
    return $tempArr;
}
function depatch2Arrs($temp,$arr1,$arr2) {
    for ($i = 0; $i < count($arr1); $i++) {
        if ($i%2===0) {
            $arr1[$i] = $temp[$i*2+0];
            $arr2[$i] = $temp[$i*2+1];
        }
        else {
            $arr1[$i] = $temp[$i*2+1];
            $arr2[$i] = $temp[$i*2+0];
        }
    }
    var_dump($arr1) . "<br/>" . var_dump($arr2);
    echo "<br/>";
    echo compDisOf2Arrs($arr1, $arr2);
}
function compDisOf2Arrs($arr1,$arr2) {
    $sum1 = 0;
    $sum2 = 0;
    for ($i = 0; $i < count($arr1); $i++) {
        $sum1 += $arr1[$i];
        $sum2 += $arr2[$i];
    }
    return $sum1-$sum2;
}
$arr1 = createRandomArr(10);
//var_dump($arr1);
$arr2 = createRandomArr(10);
$temp = combine2arrs($arr1, $arr2);
//var_dump($temp);
depatch2Arrs($temp, $arr1, $arr2);
?>



你可能感兴趣的:(PHP100学习随记_01)