PHP & Delphi 語法

C(区分大小写) Delphi(不区分大小写) PHP(区分大小写)
整型变量的定义
1
2
3
4
5
6
7
char a = ‘a‘;         /* 8位有符号*/
int a=10;             /* 16位有符号*/
unsigned int a = 10;  /* 16位无符号*/
short a = 10;         /* 16位有符号*/
unsigned short a = 10;/* 16位无符号*/
long a = 10;          /* 32位有符号*/
unsigned long a = 10; /* 32位无符号*/
1
2
3
4
5
6
7
I: ShortInt{ 8位有符号}
I: Byte;      { 8位无符号}
I: SmallInt{ 16位有符号}
I: Word;      { 16位无符号}
I: Integer;   { 32位有符号}
I: Cardinal{ 32位无符号}
I: Int64;     { 64位有符号}
1
$i = 10;  /* 变量以$开头*/
实型变量的定义
1
2
3
float a = 1.0;         /* 4字节*/
double a = 1.0;        /* 8字节*/
long double a = 1.0;   /* 10字节*/
1
2
3
4
a: Single;    { 4字节}
b: Real48;    { 6字节}
c: Double;    { 8字节}
d: Extended{ 10字节}
1
$a = 3.14;
字符变量的定义
1
char a = ‘a‘;          /*1字节*/
1
2
a: Char;      { 1字节}
a: WideChar{ 2字节}
1
$a = ‘a‘;
固定长度字符串
1
a: ShortString;
1
$a = ‘a‘;
动态字符串
1
a: AnsiString;{ 一般为String}
1
$a = ‘Hello!‘;
以NULL结束的字符串
1
char a[] = "Hello!";
1
a: PChar;
1字节布尔变量 任何1字节数
1
a: Boolean;
任何变量都可以
加,减,乘,浮点除 +,-,*,/ +,-,*,/ +,-,*,/
整除
1
a = 3 / 2;  /*运算符两边都是整型*/
1
a := a div b; { a,b都是整型}
1
$a = 3 / 2;
取模
1
a = a % b;
1
a := a mod b;
1
$a = $a % $b;
赋值
1
a = b;
1
a := b;
1
$a = $b;
比较
1
if (a == 12) ...;
1
if a = 23 then ...;
1
if ($a == 23) ...;
不等于
1
if (a != 23) ...;
1
if a <> 23 then ...;
1
if ($a != 23) ...;
小于,大于,小于等于,大于等于 <,>,<=,>= <,>,<=,>= <,>,<=,>=
逻辑与
1
if (a && b) ...;
1
if (a = 2) and (b = 3) then ...;
1
if ($a && $b) ...;
逻辑或
1
if (a || b) ...;
1
if (a = 2) or (b = 2) then ...;
1
if ($a || $b) ...;
逻辑非
1
if (!a) ...;
1
if not (a = 2) then ...;
1
if (!$a) ...;
数组定义
1
int a[10] = {0};
1
a: array[0..10] of Integer;
1
$MyArray = array(1,2,3,4);
记录类型
1
2
3
4
typedef struct{
  int i;
  double d;
}MyRes;
1
2
3
4
5
Type
  MyRec = record
    i: Integer;
    d: Double;
  end;
 
指针
1
int *a;
1
a: ^Integer;
 
判断语句
1
2
3
4
5
6
if (a == 2)
{
  /* 为真执行*/
}else{
  /* 为假执行*/
};
1
2
3
4
5
6
if a = 2 then
begin
  { 为真执行}
end else begin
  { 为假执行}
end;
1
2
3
4
5
6
if ($a == 2)
{
  /* 为真执行*/
}else{
  /* 为假执行*/
};
多重判断
1
2
3
4
5
6
7
8
9
10
11
12
switch (expr){
  case expr1:
    DoSomething;
    break;
  case expr2:
    DoSomething;
    Break;
  case expr3:
    DoSomething;
    Break;
  default: exprN;
}
1
2
3
4
5
6
7
8
case Variable of
  101: DoSomething;
  102:
    begin
    end;
  103: DoAnotherthing;
  else DoTheDefault;
end;
1
2
3
4
5
6
7
switch (expr){
  case expr1:
    DoSomething;
    break;
  case expr2:
  default: exprN;
}
for循环
1
2
3
for(expr1;expr2;expr3){
  DoSomething;
}
1
2
3
4
5
6
7
for i := 10 to 20 do
begin
end;
 
for i := 20 downto 10 do
begin
end;
1
2
3
for(expr1;expr2;expr3){
  DoSomething;
}
while循环(先判断)
1
2
3
while(expr1)
{
}
1
2
3
while(a = 30) do
begin
end;
1
2
3
while(expr1)
{
}
while循环(后判断)
1
2
3
do
{
}while(expr1);
1
2
3
repeat
  inc(c);
until c > 100;
1
2
3
do
{
}while(expr1);
跳出循环
1
2
break;    /* 跳出循环*/
continue; /* 跳出本次进入下一循环*/
1
2
break;    /* 跳出循环*/
continue; /* 跳出本次进入下一循环*/
1
2
break;    /* 跳出循环*/
continue; /* 跳出本次进入下一循环*/

PHP & Delphi 語法

上一篇:【JUC】JDK1.8源码分析之SynchronousQueue(九)


下一篇:sparksql系列(九) spark多job提交,spark多目录处理