php基础(重写)
- 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会话变量数组
$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的文件分离,例如将一些类放到单独的文件,然后按需要调用就好了,这样不用吧所有的类写到同一个文件里面
- include 和include_once区别是once会先验证是否包含了文件,是的话,就不再次包含文件
- require和require_once类似
- require和include的区别在于,require出错的时候回停止执行,而include不会。
本文由 PeterYuan 创作,采用 署名-非商业性使用 2.5 * 进行许可。 转载、引用前需联系作者,并署名作者且注明文章出处。神一样的少年 »php基础(重写)