goodCoder

本文介绍了PHP编程中的一些基础但重要的技巧,包括unset的使用、自动加载文件函数、等号的比较、斐波那契数的计算、类型判断函数、引用操作、数组截取、寻找数组最大值的下标、类的创建、订单号生成、模拟HTTP请求方法、输出方式对比、字符串反转、数组转字符串、静态关键字应用、遍历目录以及解析URL文件后缀等。
摘要由CSDN通过智能技术生成

1.unset的使用

<?php
    /*
     *unset() 函数用于销毁给定的变量。
     * 如果 unset() 一个通过引用传递的变量,则只是该变量被销毁,而在调用环境中的变量将保持调用 unset() 之前一样的值。
     */
    $test = 'aaaaaa';
    $abc = &$test;
    unset($test);
    echo $test;
    echo $abc;
    
    
    /*
     * 输出结果:aaaaaa
     *
     */

2.自动加载文件函数

 <?php

//自动加载函数:__autoload()

function __autoload($class){
   
    include 'lib/'.$class.'.class.php';
}
$User=new User();
/**
 * 解释:当实例化一个对象时,会在本页面查找有没有匹配的类,如果没有,会自动执行__autoload()方法,同时会把类的名称传给__autoload()这个方法,
 * 这样就可以引入与之匹配的类文件了(前提是类文件存在这个目录中)
 */

//自定义函数来加载类文件:spl_autoload_register()

function A($class){
   
    include 'lib/'.$class.'.class.php';
}
spl_autoload_register('A');
$User= new User();
/**
 * 解释:与上一个相同,也是先查找当前文件有没有匹配的类,然后再去执行自定义加载的函数,不同的是,
 * 如果与__autoload()同时存在的话,__autoload()不会被执行
 */

//自定义对象加载类文件:通过spl_autoload_register(array('对象','方法名称'))来实现

class A{
   
    public function Aauto($class){
   
        include 'lib/'.$class.'.class.php';
    }
}
$A=new A();
sql_autoload_register(array($A,'Aauto'));
$User= new User();

//指定静态方法加载类文件:spl_autoload_register(array('类名','静态方法名称'))来实现(两种写法)

//第一种:

class B{
   
    public function Aauto($class){
   
        include 'lib/'.$class.'.class.php';
    }
}
sql_autoload_register(array('A','Aauto'));
$User= new User();
//第二种:

class C{
   
    public function Aauto($class){
   
        include 'lib/'.$class.'.class.php';
    }
}
sql_autoload_register(array('A::Aauto'));
$User= new User();

3.等号的比较

/*

虽然 PHP 是弱类型语言,但也需要明白变量类型及它们的意义,因为我们经常需要对 PHP 变量进行比较,包含松散和严格比较。
松散比较:使用两个等号 == 比较,只比较值,不比较类型。
严格比较:用三个等号 === 比较,除了比较值,也比较类型。

*/

<?php
echo '0 == false: ';
var_dump(0 == false);
echo '0 === false: ';
var_dump(0 === false);
echo PHP_EOL;
echo '0 == null: ';
var_dump(0 == null);
echo '0 === null: ';
var_dump(0 === null);
echo PHP_EOL;
echo 'false == null: ';
var_dump(false == null);
echo 'false === null: ';
var_dump(false === null);
echo PHP_EOL;
echo '"0" == false: ';
var_dump("0" == false);
echo '"0" === false: ';
var_dump("0" === false);
echo PHP_EOL;
echo '"0" == null: ';
var_dump("0" == null);
echo '"0" === null: ';
var_dump("0" === null);
echo PHP_EOL;
echo '"" == false: ';
var_dump("" == false);
echo '"" === false: ';
var_dump("" === false);
echo PHP_EOL;
echo '"" == null: ';
var_dump("" == null);
echo '"" === null: ';
var_dump("" === null);

/*
运行结果:
   0 == false: bool(true)
0 === false: bool(false)

0 == null: bool(true)
0 === null: bool(false)

false == null: bool(true)
false === null: bool(false)

"0" == false: bool(true)
"0" === false: bool(false)

"0" == null: bool(false)
"0" === null: bool(false)

"" == false: bool(true)
"" === false: bool(false)

"" == null: bool(true)
"" === null: bool(false)
*/

4.打印斐波那锲数

<?php
/*
 * 请打印斐波那契数列10个, 1,1,2,3,5……(递归、循环)
 *
 *
 */

//循环
function F1($n)
{
   
    $f1 = 1;
    $f2 = 1;
    if($n<=2){
   
        return 1;
    }
    for ($i = 3; $i <= $n; $i++) {
   
       $f3=$f1+$f2;
       $f1=$f2;
       $f2=$f3;
    }
    return $f3;
}
//递归
function F2($n){
   
    if($n<=2){
   
        return 1;
    }
    return F2($n-1)+F2($n-2);
}

echo F1(10);//55
echo F2(10);//55

<?php
//矩阵相乘
function multi($arr1,$arr2){
   
    for($i=0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值