PHP笔记

变量

PHP 变量严格区分大小写
PHP变量必须以字母或者下划线开始后面紧跟字母,数字或下划线,不得使用特殊符号
PHP是弱类型语言,变量可以不声明直接使用

IDE技巧

在编辑器中选中文本然后按Ctrl + /批量注释

浏览器编码

<?php
header('content-type:text/html;charset=utf-8');

以上代码的作用是告诉浏览器以什么编码方式解析什么类型的文档

""''区别

  1. 单引号不解析变量,双引号解析变量,所以单引号效率高
  2. 单引号只解析\'\\两个转义符,双引号解析所有的转义符

转义符

\n 换行
\r 回车
\t 水平制表符

heredoc和nowdoc

heredoc 相当于双引号,写法

<<<"名称"
代码段;
名称;

名称之前不能有任何输出,包括空格都不允许

nowdoc相当于单引号,写法

<<<'名称'
    代码段;
名称;

PHP中的常量

定义常量

define()函数定义,语法与注意事项
define($name,$value)
常量名称不加$
常量名称最好大写,以字母或者下划线开始
常量默认区分大小写
常量作用域是全局
常量定义后无法更改
常量可以是标量,也可以是数组

const关键字定义常量,语法
const NAME=值

使用常量

  1. 直接使用常量的名称即可
  2. constant($name) 根据常量的名称获取常量的值

检测常量是否存在

defined($name) 常量存在返回true,否则返回false

获取所有已定义的常量

get_defined_constants() 返回包含系统常量在内的数组

PHP预定义变量

格式

$_NAME
例如:$_POST$_GET

return

如果在一个函数中调用 return 语句,将立即结束此函数的执行并将它的参数作为函数的值返回。return 也会终止 eval() 语句或者脚本文件的执行。

PHP中的变量

局部变量

function testa() {
    $a = 3;
    echo $a;
}

testa();

// $a 是局部动态变量
// $a 仅运行在函数 testa() 的内部空间,当函数运行结束后,将会变成垃圾从内存中清除

function testb() {
    static $b = 3;
    $b++;
    echo $b;
}

testb();
testb();

// $b 是局部静态变量
// $b 被定义为一个静态变量,虽然也只运行在函数内部空间,但是函数运行后不会被清除

// 一个函数运行后会清除,一个不会清除,这个就是关键词 static 的作用

全局变量

$a = 3;
$b = 4;

function testc(){
    global $a $b
    echo $a;
    echo $b;
}

test();
// global 在函数内将 $a $b 打上标签,可以在整个空间内使用

PHP中的For循环

结构:

for(exp1;exp2;exp3){
    代码段;
}

exp1相当于初始化赋值,会无条件的执行第一个表达式
exp2在每次循环开始前求值,看exp2是否为true,如果为true执行循环体;否则for循环结束
exp3做求值操作(增量或者减量操作)

var_dumpprint_r 区别

The var_dump function displays structured information about variables/expressions including its type and value.
The print_r() displays information about a variable in a way that's readable by humans.

前者显示更加全面,后者便于人类阅读

$obj = (object) array('qualitypoint', 'technologies', 'India');
var_dump($obj);
object(stdClass)#1 (3) {
 [0]=> string(12) "qualitypoint"
 [1]=> string(12) "technologies"
 [2]=> string(5) "India"
}
$obj = (object) array('qualitypoint', 'technologies', 'India');
print_r($obj);
stdClass Object ( 
 [0] => qualitypoint
 [1] => technologies
 [2] => India
)

来源:https://stackoverflow.com/questions/3406171/php-var-dump-vs-print-r

foreach循环

共有两种语法

foreach(array_expression as $value) statement
foreach(array_expression as $key => $value) statement

来看一个实例:

$arr = array("1"=>"111","2"=>"222","3"=>"333");
foreach($arr as $key=>$value)
{
    echo $key."=>".$value."<br/>";
}
# 输出结果是
1=>111
2=>222
3=>333

$arr = array("1"=>"111","2"=>"222","3"=>"333");
foreach($arr as $key=>$value)
{
    echo $key . "<br/>";
}
# 输出结果是
1
2
3

$arr = array("1"=>"111","2"=>"222","3"=>"333");
foreach($arr as $key=>$value)
{
    echo $value . "<br/>";
}
# 输出结果是
111
222
333

$arr = array("1"=>"111","2"=>"222","3"=>"333");
foreach($arr as $key )
{
    echo $key . "<br/>";
}
# 输出结果
111
222
333

$arr = array("1"=>"111","2"=>"222","3"=>"333");
foreach($arr as $value )
{
    echo $value . "<br/>";
}
# 输出结果
111
222
333

$arr = array("1"=>"111","2"=>"222","3"=>"333");
foreach($arr as $aaa )
{
    echo $aaa . "<br/>";
}
# 输出结果
111
222
333

通过上面的代码应该能很清楚的理解 $key$value 的关系了

标签: IT

评论已关闭