当前位置:首页 > 代码 > 正文

php有什么有趣的代码(php最简单的代码)

admin 发布:2022-12-19 02:59 129


本篇文章给大家谈谈php有什么有趣的代码,以及php最简单的代码对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

高质量PHP代码的50个技巧(3)

42

43

44

45

/**

Method to execute a command in the terminal

Uses :

1. system

2. passthru

3. exec

4. shell_exec

*/

function terminal($command)

{

//system

if(function_exists('system'))

{

ob_start();

system($command , $return_var);

$output = ob_get_contents();

ob_end_clean();

}

//passthru

else if(function_exists('passthru'))

{

ob_start();

passthru($command , $return_var);

$output = ob_get_contents();

ob_end_clean();

}

//exec

else if(function_exists('exec'))

{

exec($command , $output , $return_var);

$output = implode("\n" , $output);

}

//shell_exec

else if(function_exists('shell_exec'))

{

$output = shell_exec($command) ;

}

else

{

$output = 'Command execution not possible on this system';

$return_var = 1;

}

return array('output' = $output , 'status' = $return_var);

}

terminal('ls');

上面的函数将运行shell命令, 只要有一个系统函数可用, 这保持了代码的一致性.

5. 灵活编写函数

?

1

2

3

4

5

6

function add_to_cart($item_id , $qty)

{

$_SESSION['cart']['item_id'] = $qty;

}

add_to_cart( 'IPHONE3' , 2 );

使用上面的函数添加单个项目. 而当添加项列表的时候,你要创建另一个函数吗? 不用, 只要稍加留意不同类型的参数, 就会更灵活. 如:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

function add_to_cart($item_id , $qty)

{

if(!is_array($item_id))

{

$_SESSION['cart']['item_id'] = $qty;

}

else

{

foreach($item_id as $i_id = $qty)

{

$_SESSION['cart']['i_id'] = $qty;

}

}

}

add_to_cart( 'IPHONE3' , 2 );

add_to_cart( array('IPHONE3' = 2 , 'IPAD' = 5) );

现在, 同个函数可以处理不同类型的输入参数了. 可以参照上面的例子重构你的多处代码, 使其更智能.

6. 有意忽略php关闭标签

我很想知道为什么这么多关于php建议的博客文章都没提到这点.

?

1

2

3

?php

echo "Hello";

//Now dont close this tag

这将节约你很多时间. 我们举个例子:

一个 super_class.php 文件

?

1

2

3

4

5

6

7

8

9

?php

class super_class

{

function super_function()

{

//super code

}

}

?

//super extra character after the closing tag

index.php

?

1

2

require_once('super_class.php');

//echo an image or pdf , or set the cookies or session data

这样, 你将会得到一个 Headers already send error. 为什么? 因为 “super extra character” 已经被输出了. 现在你得开始调试啦. 这会花费大量时间寻找 super extra 的位置。因此, 养成省略关闭符的习惯:

?

1

2

3

4

5

6

7

8

9

?php

class super_class

{

function super_function()

{

//super code

}

}

//No closing tag

这会更好.

7. 在某地方收集所有输入, 一次输出给浏览器

这称为输出缓冲, 假如说你已在不同的函数输出内容:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

function print_header()

{

echo "p id='header'Site Log and Login links/p";

}

function print_footer()

{

echo "p id='footer'Site was made by me/p";

}

print_header();

for($i = 0 ; $i 100; $i++)

{

echo "I is : $i ';

}

print_footer();

替代方案, 在某地方集中收集输出. 你可以存储在函数的局部变量中, 也可以使用ob_start和ob_end_clean. 如下:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

function print_header()

{

$o = "p id='header'Site Log and Login links/p";

return $o;

}

function print_footer()

{

$o = "p id='footer'Site was made by me/p";

return $o;

}

echo print_header();

for($i = 0 ; $i 100; $i++)

{

echo "I is : $i ';

}

echo print_footer();

为什么需要输出缓冲:

可以在发送给浏览器前更改输出. 如 str_replaces 函数或可能是 preg_replaces 或添加些监控/调试的html内容.

输出给浏览器的同时又做php的处理很糟糕. 你应该看到过有些站点的侧边栏或中间出现错误信息. 知道为什么会发生吗? 因为处理和输出混合了.

8. 发送正确的mime类型头信息, 如果输出非html内容的话.

输出一些xml.

?

1

2

3

4

5

6

$xml = '?xml version="1.0" encoding="utf-8" standalone="yes"?';

$xml = "response

code0/code

/response";

//Send xml data

echo $xml;

工作得不错. 但需要一些改进.

?

1

2

3

4

5

6

7

$xml = '?xml version="1.0" encoding="utf-8" standalone="yes"?';

$xml = "response

code0/code

学php必收藏的几个经典代码

经典循环例子 

HTML 

HEAD 

TITLE经典循环例子/TITLE 

/HEAD 

BODY 

    for($counter = 1; $counter = 6; $counter++)        //循环6次 

    { 

        print("Bcounter is $counter/BBR\n");    //打印6次 

    }     

/BODY 

/HTML 

for的高级运用  

HTML 

HEAD 

TITLEfor的高级运用/TITLE 

/HEAD 

BODY 

    /*  

    ** 打印必要的说明文字  

    */ 

    print("B距离星期一还有几天?/B\n"); 

    print("OL\n"); 

    for($currentDate = date("U");             //定义$currentDate时间格式 

        date("l", $currentDate) != "Monday";     //判断是不是当前系统时间是Monday 

        $currentDate += (60 * 60 * 24))        //当前时间加上1天 

    { 

        /*  

        ** 打印时间名称  

        */ 

        print("LI" . date("l", $currentDate) . "\n"); 

    } 

    print("/OL\n"); 

/BODY 

/HTML 

函数的简单调用: 

HTML 

HEAD 

TITLE简单的函数/TITLE 

/HEAD 

BODY 

FONT SIZE=5 

    function printBold($inputText)            //定义function printBold() 

    { 

        print("B" . $inputText . "/B");    ////打印$inputText 

    } 

    print("这行没有加重!BR\n");            //直接打印字符串 

    printBold("这行加重了!!!");            //调用function printBold()函数 

    print("BR\n"); 

    print("这行没有加重!BR\n");            //直接打印字符串 

/FONT 

/BODY 

/HTML 

有返回值的函数  

HTML 

HEAD 

TITLE有返回值的函数/TITLE 

/HEAD 

BODY 

FONT SIZE=5 

    function makeBold($inputText)        //定义function makeBold()函数 

    { 

        $boldedText = "B"; 

        $boldedText .= $inputText; 

        $boldedText .= "/B"; 

        return($boldedText);        //返回变量$boldedText 

    } 

    print("这行没有加重!!!BR\n");    //直接打印字符串     

    print(makeBold("这行被加重了!!!") . "BR\n");//调用function makeBold()函数 

    print("这行没有加重!!!BR\n");    //直接打印字符串 

/SIZE 

/BODY 

/HTML 

有默认参数的函数  

HTML 

HEAD 

TITLE有默认参数的函数/TITLE 

/HEAD 

BODY 

FONT SIZE=5 

    function printColored($Text, $Color="black")        //定义function函数 

    { 

        print("FONT COLOR=\"$Color\"$Text/FONT");    //获取字符串的内容和颜色 

    } 

    printColored("这是黑颜色的字!");            //调用function函数 

    print("BRBR\n"); 

    printColored("这是蓝颜色的字!", "blue");            //调用function函数 

    print("BR\n"); 

/SIZE 

/BODY 

/HTML 

初始化数组 

HTML 

HEAD 

TITLE初始化数组/TITLE 

/HEAD 

FONT SIZE=5 

    $monthName = array(1="January", "February", "March",//初始化一个数组 

        "April", "May", "June", "July", "August", 

        "September", "October", "November", "December"); 

    print(" 英语的“5月”是B $monthName[5] /B。BR\n");//打印数组中的第6个元素 

/FONT 

/BODY 

/HTML 

获取数组中的元素  

HTML 

HEAD 

TITLE获取数组中的元素/TITLE 

/HEAD 

    $monthName = array( 

    /*定义$monthName[1]到$monthName[12]*/ 

        1="January", "February", "March", 

        "April", "May", "June",  

        "July", "August", "September",  

        "October", "November", "December", 

    /*定义$monthName["Jan"]到$monthName["Dec"]*/ 

        "Jan"="January", "Feb"="February", 

        "Mar"="March", "Apr"="April",  

        "May"="May", "Jun"="June",  

        "Jul"="July", "Aug"="August", 

        "Sep"="September", "Oct"="October",  

        "Nov"="November", "Dec"="December", 

    /*定义$monthName["Jan"]到$monthName["Dec"]*/ 

        "January"="January", "February"="February", 

        "March"="March", "April"="April",  

        "May"="May", "June"="June",  

        "July"="July", "August"="August", 

        "September"="September", "October"="October",  

        "November"="November", "December"="December" 

        ); 

    /*打印相关的元素*/ 

    print("Month B5/B is B" . $monthName[5]. "/BBR\n"); 

    print("Month BAug/B is B" . $monthName["Aug"] . "/BBR\n"); 

    print("Month BJune/B is B" . $monthName["June"] . "/BBR\n"); 

/BODY 

/HTML 

创建一个多维数组  

HTML 

HEAD 

TITLE创建一个多维数组/TITLE 

/HEAD 

    $Cities = array(                //二维数组array() 

        "华北地区"=array( 

            "北京市", 

            "天津市", 

            "石家庄" 

            ), 

        "西北地区"=array( 

            "西安", 

            "拉萨" 

            ) 

        ); 

    print("华北地区: ".$Cities["华北地区"][0]);    //打印$Cities["华北地区"][0] 

/BODY 

/HTML 

PHP 4.0实现表格状打印 

HTML 

HEAD 

TITLE实现表格状打印/TITLE 

/HEAD 

BODY 

    /*  

    ** 数据表格化  

    */ 

    print("TABLE bgcolor='ffccoo' BORDER=\"1\"\n"); // 表格开始 

    for($Row=1; $Row = 12; $Row ++) 

    { 

        print("TR\n"); // 开始行 

        // do each column 

        for($Column=1; $Column = 12; $Column ++) 

        { 

            print("TD");//开始列 

            print($Row * $Column);//表格元素乘积 

            print("/TD"); 

        } 

        print("/TR\n"); // 行结束 

    } 

    print("/TABLE\n"); // 表格结束 

/BODY 

/HTML 

查看系统的一些变量 

HTML 

HEAD 

TITLE查看PHP的环境变量/TITLE 

/HEAD 

BODY 

    print("你正在用文件的名字为: "); 

    print(__FILE__); 

    print(" BR\n"); 

    print("hr"); 

    print("你的操作系统为: "); 

    print(PHP_OS); 

    print("hr"); 

    print("你的php的版本为: "); 

    print(PHP_VERSION) 

/BODY 

/HTML 

打开本地或者远程文件 

HTML 

HEAD 

TITLE打开本地或者远程文件/TITLE 

/HEAD 

BODY 

    print("H3通过http协议打开文件/H3\n"); 

    // 通过 http 协议打开文件 

    if(!($myFile = fopen("d:web/web/php/test/data.txt", "r"))) 

    { 

        print("文件不能打开"); 

        exit; 

    } 

    while(!feof($myFile))                //循环 

    { 

                            // 按行读取文件中的内容 

        $myLine = fgetss($myFile, 255); 

        print("$myLine BR\n"); 

    } 

    // 关闭文件的句柄 

    fclose($myFile); 

/BODY 

/HTML 

打开文件的几种方式比较  

HTML 

HEAD 

TITLE读取文件内容/TITLE 

/HEAD 

BODY 

    // 打开文件同时打印文件的每一个字符 

    if($myFile = fopen("data.txt", "r")) 

    { 

    while(!feof($myFile)) 

    { 

        $myCharacter = fgetc($myFile); 

        print($myCharacter); 

    } 

    fclose($myFile); 

    }     

? print("hr");? 

    // 打开文件同时打印文件的每一行 

    if($myFile = fopen("data.txt", "r")) 

    { 

        while(!feof($myFile)) 

        { 

            $myLine = fgets($myFile, 255); 

            print($myLine); 

        } 

    fclose($myFile); 

    }     

? print("hr");? 

    /* 打开文件同时打印文件的每一行, 

    同时去掉取回字符串中的 HTML 语言 

    */ 

    if($myFile = fopen("data.txt", "r")) 

    { 

        while(!feof($myFile)) 

        { 

            $myLine = fgetss($myFile, 255); 

            print($myLine); 

        } 

        fclose($myFile); 

    }     

/BODY 

/HTML 

访问文件常见属性 

HTML 

HEAD 

TITLE访问文件常见属性/TITLE 

/HEAD 

BODY 

BR 

    print("文件的所有者(UID 值):"); 

    print(fileowner("data.txt")."br"); 

    print("文件的大小:"); 

    print(filesize("data.txt")."br"); 

    print("文件的类型:"); 

    print(filetype("data.txt")."br"); 

/BODY 

/HTML 

调用文本文件内容  

HTML 

HEAD 

TITLE调用文本文件内容/TITLE 

/HEAD 

BODY 

CENTER 

    // 打开文件同时,打印每一行 

    $myFile = file( "data.txt"); 

    for($index = 0; $index  count($myFile); $index++) 

    { 

        print($myFile[$index]."BR"); 

    } 

/CENTER 

/BODY 

/HTML 

创建目录函数  

HTML 

HEAD 

TITLE创建目录函数/TITLE 

/HEAD 

BODY 

    if(mkdir("myDir1", 0777))        //创建目录的函数 

    { 

        print("目录创建成功");        //目录建立成功 

    } 

    else 

    { 

        print("目录建立失败!");        //目录建立失败 

    } 

/BODY 

/HTML 

浏览目录  

HTML 

HEAD 

TITLE浏览目录/TITLE 

/HEAD 

BODY 

    // 使用表格浏览目录的结构 

    print("TABLE BORDER=\"1\"\n"); 

    // 创建表格的头 

    print("TRfont color='red'\n"); 

    print("TH文件名/TH\n"); 

    print("TH文件的大小/TH\n"); 

    print("/font/TR\n"); 

    $myDirectory = opendir(".");        // 建立操作目录的句柄  

    // 读出目录中的每一个子项 

    while($entryName = readdir($myDirectory)) 

    { 

        print("TR"); 

        print("TD$entryName/TD"); 

        print("TD ALIGN=\"right\""); 

        print(filesize($entryName)); 

        print("/TD"); 

        print("/TR\n"); 

    } 

    closedir($myDirectory);            // 关闭目录 

    print("/TABLE\n"); 

/BODY 

/HTML 

PHP相关信息  

HTML 

HEAD 

TITLEPHP相关信息/TITLE 

/HEAD 

BODY 

    phpinfo(); 

/BODY 

/HTML 

常用的数值判断函数  

HTML 

HEAD 

TITLE常用的数值判断函数/TITLE 

/HEAD 

BODY 

    //判断数组 

    $colors = array("red", "blue", "green"); 

    if(is_array($colors)) 

    { 

        print("colors is an array"."br"); 

    } 

    //双精度数判断 

    $Temperature = 15.23; 

    if(is_double($Temperature)) 

    { 

        print("Temperature is a double"."br"); 

    } 

    //整数判断 

    $PageCount = 2234; 

    if(is_integer($PageCount)) 

    { 

        print("$PageCount is an integer"."br"); 

    } 

    //对象判断 

    class widget 

    { 

        var $name; 

        var $length; 

    } 

    $thing = new widget; 

    if(is_object($thing)) 

    { 

        print("thing is an object"."br"); 

    } 

    //字符判断 

    $Greeting = "Hello"; 

    if(is_string($Greeting)) 

    { 

        print("Greeting is a string"."br"); 

    } 

/BODY 

/HTML 

文件上传界面  

HTML  

HEAD  

TITLE文件上传界面/TITLE  

/HEAD  

BODYTABLECENTER  

?  

if($UploadAction){ 

$UploadAction=0;  

$TimeLimit=60;         

/*设置超时限制时间默认时间为 30s,设置为0时为不限时 */  

set_time_limit($TimeLimit);  

If(($Upfile != "none")  

($Upfile != ""))  

{  

$Filepath="d:\web\\php\test";                            //上载文件存放路径 

$FileName=$Filepath.$Upfile_name;  

if($Upfile_size 1024)                        //上载文件大小  

{$FileSize = (string)$Upfile_size . "字节";}  

elseif($Upfile_size (1024 * 1024))  

$FileSize = number_format((double)($Upfile_size / 1024), 1) . " KB"; 

}  

else  

{  

$FileSize = number_format((double)($Upfile_size/(1024*1024)),1)."MB";  

}  

if(!file_exists($FileName))  

{  

if(copy($Upfile,$FileName))  

{unlink($Upfile);  

echo "brbr\n";          

echo "文件 $Upfile_name 已上载成功!"; 

echo "brbr\n"; 

echo "文件位置:$FileName"; 

echo "brbr\n"; 

echo "文件大小:$FileSize"; 

echo "brbr\n"; 

}  

else  

{echo "文件 $Upfile_name上载失败!"; }  

}  

else  

{echo "文件 $Upfile_name已经存在!"; }  

}  

else  

{echo "你没有选择任何文件上载!"; }  

set_time_limit(30);                            //恢复默认超时设置  

?  

FORM ENCTYPE = "multipart/form-data" NAME = "SubmitForm"  

ACTION = "default.php" METHOD = "POST"  

INPUT TYPE = "hidden" NAME = "MAX_FILE_SIZE" VALUE ="1000000"  

INPUT TYPE = "hidden" NAME = "UploadAction" VALUE = "1"  

TRTDINPUT NAME = "Upfile" TYPE = "file" SIZE = "30"/TD  

/TRTRTDINPUT NAME = "submit" VALUE = "提交" TYPE = "submit" 

INPUT NAME = "reset" VALUE = "重置" TYPE = "reset"/TD  

/TR/FORM/CENTER/TABLE 

/BODY  

/HTML

GitHub 上有哪些比较有趣的 PHP 项目?

swoole, C扩展实现的PHP异步并行网络通信框架,可以重新定义PHP。过去PHP只能做Web项目,现在有了Swoole。任意服务器端程序都可以用PHP写。swoole_framework,基于swoole扩展开发的一个开发框架 。yaf,C扩展实现的高性能Web开发框架 。php-webim,基于swoole实现的Web即时聊天工具具,支持websocket+http comet长链接推送,可以发送文字内容和图片。

使用PHP代码实现异步框架。如果说swoole是node.js的升级版,react.php就是标准的PHP版本node.js workerman ,类似swoole,不过是纯PHP实现的官网有很多示例项目。底层功能比swoole少一些,但相对简单,应用层面的功能比swoole丰富。phalcon ,俗称尔康框架,与yaf类似也是C扩展开发的高性能Web框架,与yaf相比phalcon提供的功能更多更完善。

可以用近似PHP的一种中间代码写程序,然后自动转为C++,并作为扩展来运行。可以解决PHP语言密集计算性能差的问题。phpdaemon,基于swoole扩展写的异步redis客户端,压测起来性能跟Go语言之类的差不多。

PHP一段很有趣的代码!求解释

如果是test(++$page);才会先+1,再代入test函数,但是你是test($page++);他会优先执行test($page);再执行$page++,所以test($page)依然是传入1,下一次执行到这里还是会这样,无限循环

php最经典,最基础的代码,适合入门的

PHP是一种可以嵌入到HTML中的运行在服务器端的脚本语言,所以为了体现PHP的特性我们可以分两种模式来实现PHP代码

1、 PHP嵌入到HTML中,例如index.php

html

head/head

body

    !--因为PHP嵌入到HTML中,所以需要完全区分PHP代码和HTML代码--

    ?php

        //输出hello world

        echo 'hello world;

    ?

/body

/html

2、 PHP独立文件,只有PHP代码,例如index.php

?php

    //输出

    echo 'hello world';

    

    //不需要闭合标签

关于php有什么有趣的代码和php最简单的代码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/1328.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载