php PHP注释 PHP的输入输出 The PHP Data Type variables Constant Process Control LOOP Function OOP

img

PHP是弱类型语言,也是个混乱的语言。

没有编码风格支持时候

上是🔥下是刀。水深火热无法自拔。

生活很复杂,而我却要为工具烦恼!

何处是解脱。

1
2
3
4


......
?>

PHP注释

1
2
3
4
5
1.
/* */
------------------
2.
//

PHP的输入输出

  1. echo

    1
    2
    3
    4
    // 可以输出多个值,每个值逗号隔开
    echo "HELLO, WORLD!";
    echo $A, $B, $C;
    echo "HELLO"."WORLD!"
  2. print

    1
    // 输出字符串

The PHP Data Type

PHP有四种标量类型,三种复合类型,两种特殊类型,伪类型。(四标,三复,两特,还有伪

四种标量类型booleanintegerfloatstring

三种复合类型arrayobjectcallable

特殊类型resourceNULL

伪类型:mixednumbercallbackarray|objectvoid$


boolean

布尔类型表达真🐟假,也就是TRUE&FALSE ( 不区分大小写 )

1
2
3
4
5
6


$TBool = True; // 表真
$FBool = False; // 表假

?>
1
2
3
4
5
6
7
8
9
10
11
12
13

// if语句的判断
$bools = "hello"
if($bools=="hello"){
// 判断变量$bool的值是否等于“hello”。
// 如果为真执行下面操作。
// 如果不是中断。
echo $bools."world!";
}

?>

* 上面的if语句小括号里面的值其实就是转换成了"True" & "False"

integer

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/*
* {整型就是自然数}
* 整型有:
* 二进制(binary system)[0,1],
* 十进制(decimal system)[0-9],
* 八进制(Octal)[0-7],
* 十六进制(Hexadecimal)[0-9-A-F],
*-------------------------------------
* 八进制在前面加 0 , 012;
* 十六进制在前面加 0x, 0x1A
* 二进制在前面加0b
*------------------------------------
*/


$A = 10; // Decimal
$A = 0b12; // Bin
$A = 0x12; // Hex
$A = 012; // Octal
?>

* 长度没有限制,和平台有关。
* 如果长度超过了(溢出),自动转换为float类型,返回类型为float。

Float

1
2
3
4
5
6
* 浮点数,也是双精度。
* 长度也和平台有关

<?PHP
$A = 1.0;
?>

string

1
2
3
4
5
6
7
8
9
10
11
12
* 用单引号和双引号,包围起来表示字符串。
<?PHP
$A = 'HELLO';
$A = "HELLO";
//如果一个字符串双引号包含又一个双引号。可以使用反斜线转义
$A = "国家十二五规划明确表示“农民”要干嘛干嘛!";
//在使用echo输出的时候,单引号不会输出变量,双引号可以
// 而且还可以对特殊字符进行操作如 n 换行符号。
echo '$A IS HELLO' // $A IS HELLO
echo '$A IS HELLO' // HELLO IS HELLO

?>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// 字界符
<?PHP
// heredoc 相当于多行字符串中的双引号
$A = <<<EOL
GOOGLE
APPLE
INTER
BAIDU
360
EOL;
// nowdoc 相当于多行字符串中的单引号
$A = <<<EOL
GOOGLE
APPLE
INTER
BAIDU
360
EOL;
?>
					               [ 转义字符 ]                  
序列 含义
n 换行(ASCII 字符集中的 LF 或 0x0A (10))
r 回车(ASCII 字符集中的 CR 或 0x0D (13))
t 水平制表符(ASCII 字符集中的 HT 或 0x09 (9))
v 垂直制表符(ASCII 字符集中的 VT 或 0x0B (11))
e Escape(ASCII 字符集中的 ESC 或 0x1B (27))
f 换页(ASCII 字符集中的 FF 或 0x0C (12))
反斜线
$ 美元标记
" 双引号
[0-7]{1,3} 符合该正则表达式序列的是一个以八进制方式来表达的字符
x[0-9A-Fa-f]{1,2} 符合该正则表达式序列的是一个以十六进制方式来表达的字符

array

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// array(k => v )
// k 必须是整数和字符串
// v 必须是任意类型的值
$arr = array(
'a' => 'n',
'b' => 'c',
);

// OR

$arr = [
'a' => 'n',
'b' => 'c',
];

* 如果k包含字符串数字, 如 '9' ,这种情况下,自动转换为整数。只要是合法的十进制
* 浮点数转换为整型,会抹去小数部分。
* 布尔值也会转换为整数,T -> 1, F -> 0.
* NULL 会变成空
* 数组和对象不能为k
* k是可选项,可以省略, $A = [1,2,3,4]
1
2
3
4
5
6
7
8
9
10
11
// 数组访问
// 通过索引访问,k - > v


$arr = [1, 2, 3, 4, 5 ];
echo $arr[0]; // 1

for(i = 0; i < 5; i++ ){
echo $arr[i];
}
?>

object

1
2
3
4
5
6
7
8
<?php
class {
function add($a, $b){
echo $a + $b;
}
}
$ADD = new A; //通过 new 实例化
$ADD->add(1,2);

NULL

1
2
3
4
5
// 表示一个变量没有值,他的值为空。

<?php
$A = NULL; //起到占位的作用
?>

variables

  • 变量书写由$后面接变量名
  • 变量区分大小写
  • 变量名不允许数字开头,开头必须是字母和下划线
  • 变量是动态的,她的类型是根据上下文决定。
1
2
3
4
5

$A = 1;
$B = 'KOK';
$A = $B;
--------------

Constant

  • 常量通过define( )定义或者 const
  • 常量定义之后,无法改变
  • 常量只能包含标量【boolean】,【interger】,【float】,【string】
  • 没有作用域限制
  • 常量名最好大写
1
2
3
4
5
define('常量名''值')
or
const 常量名 = 值

* const 和define()不同之处在于,其必须在顶级作用域,不能在函数内

几个 PHP 的“魔术常量”

名称 说明
__LINE__ 文件中的当前行号。
__FILE__ 文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。自 PHP 4.0.2 起,__FILE__总是包含一个绝对路径(如果是符号连接,则是解析后的绝对路径),而在此之前的版本有时会包含一个相对路径。
__DIR__ 文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录。它等价于 dirname(__FILE__)。除非是根目录,否则目录中名不包括末尾的斜杠。(PHP 5.3.0中新增) =
__FUNCTION__ 函数名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该函数被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。
__CLASS__ 类的名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该类被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。类名包括其被声明的作用区域(例如 FooBar)。注意自 PHP 5.4 起 __CLASS__ 对 trait 也起作用。当用在 trait 方法中时,CLASS 是调用 trait 方法的类的名字。
__TRAIT__ Trait 的名字(PHP 5.4.0 新加)。自 PHP 5.4 起此常量返回 trait 被定义时的名字(区分大小写)。Trait 名包括其被声明的作用区域(例如 FooBar)。
__METHOD__ 类的方法名(PHP 5.0.0 新加)。返回该方法被定义时的名字(区分大小写)。
__NAMESPACE__ 当前命名空间的名称(区分大小写)。此常量是在编译时定义的(PHP 5.3.0 新增)。

摘自php文档

Process Control

  • if

    1
    2
    3
    if(条件){
    语句;
    }
  • if - else

    1
    2
    3
    4
    5
    if(条件){
    语句;
    }else{
    语句;
    }
  • if – elseif – else

    1
    2
    3
    4
    5
    6
    7
    if(条件){
    语句;
    }elseif(条件){
    语句;
    }else{
    语句;
    }

    特殊用法

    大括号{}可以替换成python里面的使用。循环也可以。

    <?PHP

    if ($a < 19):

    echo $a;

    ?>

  • switch

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    switch(){
    case 1:
    echo "...";
    break;
    case 2:
    echo "...";
    break;
    default:
    echo "....";

    }

LOOP

  • while

    1
    2
    3
    while(条件){
    语句;
    }
  • do - while

  • 1
    2
    3
    do {
    语句;
    }while(条件);
  • for

  • 1
    2
    3
    for(条件1; 条件2; 条件3){
    语句;
    }
  • foreach

  • 1
    2
    3
    foreach(数组 as 变量名){
    语句;
    }
  • break, continue


Function

  • 函数的自定义

    1
    2
    3
    4
    function 函数名(参数[参数2][...]){
    语句;
    return;
    }
  • 函数的调用

    1
    $A = 函数名(实例参数);
  • 可变参数

    1
    2
    3
    4
    5
    6
    7
    8
    *这是php的一个特性:如果变量后面有小括号,那么执行的过程会自动寻找与之相关的函数名字
    <?PHP
    function info(){
    echo "Version: 1.0";
    }
    $call_info = "info";
    $call_info(); // Version: 1.0
    ?>
  • 匿名函数

1
2
3
4
// 匿名就是没有函数名字的函数。
$Anonymity = function($NAME){
echo "$NAME IS YOU"." FR.";
}

OOP

1
class 类名{ }
  • 常量和变量称为类的属性

  • 函数称为类的方法

  • 1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    class Book{
    // 声明属性
    public $pages = 245;
    public $book_name = "Harm will perish";
    public $Date_of_publication = "2018.12.9";
    public $price ="24RMB”;
    public function shelves()

    }