Home  >  Article  >  Backend Development  >  php基础(重写)

php基础(重写)

WBOY
WBOYOriginal
2016-06-23 13:06:391260browse

  • php用分号 ;分隔语句
  • 用逗号来分隔函数参数和其他列表项
  • 间隔字符,例如换行,空格和tab都被认为是空格
  • 用点号连接字符串
  • php注释有几种方式:

      /*  */  //  #
  • php是弱类型语言,不必在变量使用之前声明

  • php可以进行变量类型转换

    $test = 0;$test1 = (float)$test1; //将int强制转为float
  • 常量都是大写,常量和变量的区别就是它没有$

  • php有一些超级全局变量

    • $GLOBALS所有全局变量数组
    • $_SERVER服务器环境变量数组
    • $_GET通过GET方式传递给该脚本的变量数组
    • $_POST通过POST方式传递给该脚本的变量数组
    • $_COOKIE cookie变量数组
    • $_FILES与文件上传相关的变量数组
    • $_ENV环境变量数组
    • $_REQUEST所有用户输入的变量数组
    • $_SESSION会话变量数组
    < ?phpforeach($_SERVER as $var => $value){    echo "$var => $value \n";}?>----CR_RUNID => 19006 TERM_PROGRAM => CodeRunner TERM => dumb SHELL => /bin/zsh TMPDIR => /var/folders/_4/6v2frjcx2w90jvq9dh92z1vw0000gn/T/ CR_DEBUGGING => 0 SSH_AUTH_SOCK => /private/tmp/com.apple.launchd.EFcqscDf4y/Listeners filename => Untitled 2.php __CF_USER_TEXT_ENCODING => 0x1F5:0x19:0x34 CR_DEVELOPER_DIR => /Applications/CodeRunner.app/Contents/SharedSupport/Developer CR_FILENAME => Untitled 2.php PATH => /Library/Application PWD => /var/folders/_4/6v2frjcx2w90jvq9dh92z1vw0000gn/T/CodeRunner XPC_FLAGS => 0x0 CR_TMPDIR => /var/folders/_4/6v2frjcx2w90jvq9dh92z1vw0000gn/T/CodeRunner XPC_SERVICE_NAME => 0 SHLVL => 1 ANT_ROOT => /Applications/Cocos/tools/ant/bin CR_VERSION => 3960 LC_CTYPE => UTF-8 COCOS_FRAMEWORKS => /Applications/Cocos/frameworks CR_ENCODING => 4 _ => /usr/bin/php PHP_SELF => Untitled 2.php SCRIPT_NAME => Untitled 2.php SCRIPT_FILENAME => Untitled 2.php PATH_TRANSLATED => Untitled 2.php DOCUMENT_ROOT =>  REQUEST_TIME_FLOAT => 1454780104.3473 REQUEST_TIME => 1454780104 argv => Array argc => 1 
  • 有三元操作符

    ($grade >= 50 ? 'Passed' : 'Failed')
  • 数组可以用 []访问数组也可以用 =>

  • 反引号“执行命令
  • 可以用new和->来初始化类的实例和访问类的成员,也可以调用方法
  • print比echo慢,因为print会返回。
  • 可以用gettype()来测试函数类型,php也提供了其他测试函数,如is_array(),is_object()等
  • 测试变量状态可以用isset()和empty(),注意区别,前者是判断变量是否有被set,后者是判断变量是否为空
  • 可以使用printf进行数据格式化输出,跟c语言类似,支持$d,$s等

    printf ("aaa is $d.",100);
  • 可以用sprintf(),sprintf和printf相同,不过他将输出赋值给一个字符串

    $cost = sprintf("$%.2f",43.2); //结果是$cost = $43.20
  • php支持布尔型,整形,字符串,数组,对象
  • 变量按值赋值和按引用赋值按值赋值是赋值变量,每个变量在内存中的地址是不一样的,按引用赋值是多个变量引用同一个内容,在内存中的地址是指向同一个的。

    按值赋值$value1 = "hello";按引用赋值$value1 = "hello";$value2 = &$value1;

变量作用域

php变量有4种作用域:

1.局部变量

在函数中声明的变量是局部变量,只能在函数中引用。

$x = 4;function assignx(){  $x = 0;  //这个就是局部变量  print ("A result is :".$x); //虽然一样的名字,但是函数内部只使用内部变量}assignx();print ("B result is:".$x);//在外部,会使用外部作用域的变量----A result is :0  这是执行了assignx()的结果B result is:4  这是执行了assignx()下一行的结果

2.函数参数

顾名思义,在函数参数中的作用域,函数参数在退出函数后也是无法使用的

function xman($value) { //这个就是函数参数    $value = $value * 10;    return $value;}$a = xman(10);echo $a;---100

3.全局变量

全局变量可以在程序任何地方访问,关键字是global或者是GLOBALS数组

$somevar = 15;function addit1() {    global $somevar; //有global就变成了全局变量,全局变量不会消失,所以是15+1    $somevar++;    echo "somevar1 is ".$somevar."\n";}addit1();function addit2() {    $somevar++; //因为不是全局变量,是局部变量,因为至于函数内部之中,所以从0开始,所以是0+1    echo "somevar2 is ".$somevar."\n";}addit2();----somevar1 is 16somevar2 is 1

4.静态变量

静态变量在函数退出时也不会消失,跟全局变量很像,但是不能在任何地方访问

function keep_track() {    static $count = 0;  //计算结果被保存了,所以不断+1    $count++;    echo $count."\n";}keep_track();keep_track();keep_track();----123

常量

常量constant是指在程序执行中无法修改的值,常量是全局的,可以在任何地方引用。

define("PI",3.141592); //定义常量用define$pi2 = 2 * PI; //引用常量不需要$

表达式

%s = 6;这个就是表达式

$a++

$sum = $a + $b;

$a = 'abc'.'cde';

$a && $b

$a == $b $a === $b $a != $b

$a < $n

转义

双引号会解析变量,所以一般用单引号。

大括号

通过大括号来表示复杂的数据类型的变量

echo "the capital of ohio is {$capitals['ohio']}";

控制结构和循环

跟其他的语言类似if语句,do while语句,for 语句,switch语句,foreach语句,break和continue语句,php5.3支持goto

文件包含

主要是为了将php的文件分离,例如将一些类放到单独的文件,然后按需要调用就好了,这样不用吧所有的类写到同一个文件里面

<?phpinclude("/usr/local/test.php");?>
< ?phpinclude_once("/usr/local/test.php");?>
< ?phprequire("/usr/local/test.php");?>
< ?phprequire_once("/usr/local/test.php");?>
  • include 和include_once区别是once会先验证是否包含了文件,是的话,就不再次包含文件
  • require和require_once类似
  • require和include的区别在于,require出错的时候回停止执行,而include不会。

本文由 PeterYuan 创作,采用 署名-非商业性使用 2.5 中国大陆 进行许可。 转载、引用前需联系作者,并署名作者且注明文章出处。神一样的少年 »php基础(重写)

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn