phalcon?? PHP基础知识(一)
一、变量和常量
1.1、变量名(标示符)
1)变量:$开头标志
2)变量名:可以由字母,数字,_ 3者组成,不能用数字开头
3)标识符是区分大小写的,但函数名不区分大小写。
4)变量名称可以与函数名称相同,虽然是允许的,但应尽量避免混淆。
PHP不要求在使用变量之前声明变量,当第一次给一个变量赋值时,才创建了这个变量。
例如:
$3age;//错$_ = 6;//可以$*p = 30;//错
1.2、数据类型
1) Integer: 用来表示整数。
2) Float: 用来表示所有实数。
3) String: 用来表示字符串。
4) Boolean: 用来表示true或false。
5) Array: 用来保存具有相同类型的多个数据项。
6) Object: 用来保存类的实例。
PHP可以在任何时间根据保存在变量中的值来确定变量的类型,当需要强制类型转换时可以按照java的语法来转换
例如:
$icount = 0;$fcount = (float)$icount;
1.3、常量的定义
常量可以保存一个值,但是程序一旦初始化之后,常量的值就不能改变。
define('PI', 3.14159);echo PI;
常量一般用大写表示,用define函数定义,并且不用$符号标识。
1.4、变量作用域
作用域指在一个脚本中某个变量可以使用或可见的范围,PHP具有6项基本的作用域规则。
1) 内置超级全局变量可以在脚本中的任何地方使用。
例如:
$GLOBALS: 所有全局变量数组。$_SERVER: 服务器环境变量数组$_GET: GET方法传递给该脚本的变量数组$_POST: POST方法传递给该脚本的变量数组$_COOKIE: cookie变量数组$_FILES: 与文件上传相关的变量数组$_ENV: 环境变量数组$_REQUEST: 所有用户输入的变量数据,包括$_GET、$_POST和$_COOKIE$_SESSION: 会话变量数组
2) 常量一旦被声明,可以在全局可见。
3) 在脚本中声明的全局变量在全脚本中是可见的。
4) 函数内部使用的变量声明为全局变量时,名称要与全局变量名称一致。
5) 函数内部创建并声明为静态的变量在函数外不可见,但在函数的多次执行过程中保持该值。
6) 函数内部创建的变量是本地的,当函数终止时,该变量也就不存在。
二、运算符或操作符
2.1、算数运算符
算术操作符也就是数字操作符,通常用于整型或双精度类型的数据。如果应用在字符串中,PHP会试图将这些字符转换成一个数字,如果其中包含"e"或"E",它会被当作是科学表示法并被转换成浮点数,否则将会被转换成整数。PHP会在字符串开始处寻找数字,并且使用这些数字作为该字符串的值,如果没有找到数字,则该字符串的值为0。
操作符 | 名称 | 示例 |
+ | 加 | $a + $b |
- | 减 | $a - $b |
* | 乘 | $a * $b |
/ | 除 | $a / $b |
% | 模 | $a % $b |
2.2、字符串连接
利用“.”
$string = "hello"." world";
2.3、赋值运算
操作符 | 使用方法 | 等价于 |
+= | $a += $b | $a = $a + $b |
-= | $a -= $b | $a = $a - $b |
*= | $a *= $b | $a = $a * $b |
/= | $a /= $b | $a = $a / $b |
%= | $a %= $b | $a = $a % $b |
.= | $a .= $b | $a = $a . $b |
2.4、引用
引用操作符"&"可以在关联赋值中使用。引用相当于一个别名,而不是一个指针,它使两个变量指向相同的内存地址,可以使用unset来重置
例如:
$a = 1;$b = &$a;$b = 2;unset($a);
2.5、比较运算
操作符 | 名称 | 使用方法 |
== | 等于 | $a == $b |
=== | 恒等 | $a === $b |
!= | 不等 | $a != $b |
!== | 不恒等 | $a !== $b |
不等 | $a $b | |
小于 | $a | |
> | 大于 | $a > $b |
小于等于 | $a | |
>= | 大于等于 | $a >= $b |
2.6、逻辑运算
操作符 | 名称 | 使用方法 |
! | 非 | !$b |
&& | 与 | $a && $b |
|| | 或 | $a || $b |
and | 与 | $a and $b |
or | 或 | $a or $b |
xor | 异或 | $a xor $b |
2.7、位运算
操作符 | 名称 | 使用方法 |
& | 按位与 | $a & $b |
| | 按位或 | $a | $b |
~ | 按位非 | ~$a |
^ | 按位异或 | $a ^ $b |
左位移 | $a | |
>> | 右位移 | $a >> $b |
2.8、其他
1) 逗号操作符
逗号操作符","用来分隔函数参数和其他列表项,这个操作符经常被附带使用。
2) 类操作符
"new"和"->"分别用来初始化类的实例和访问类的成员。
3) 三元操作符
三元操作符"? :"类似于条件语句if-else的表达式版本,语法格式如下:
condition ? value if true : value if false
4) 错误抑制符
错误抑制符"@"可以在任何表达式前使用,使用这个操作符,可以抑制代码产生的警告。
5) 执行操作符
执行操作符是一对操作符,它是一对反向单引号"` `",PHP将试着将反向单引号之间的命令当作服务器端的命令行来执行,表达式的值就是命令的执行结果,例如:
echo `ls -l`;
6) 类型操作符
"instanceof"操作符允许检查一个对象是否是特定类的实例,例如:
if ($object instanceof sampleClass) echo "Object is an instance of sampleClass";
2.9、操作符优先级以及结合性
由低到高如下:
结合性 | 操作符 |
左 | , |
左 | or |
左 | xor |
左 | and |
右 | |
左 | = += -= *= /= .= %= &= != ^= ~= >= |
左 | ? : |
左 | || |
左 | && |
左 | ! |
左 | ^ |
左 | & |
不相关 | == != === !== |
不相关 | >= |
左 | > |
左 | + - . |
左 | * / % |
右 | ! ~ ++ -- (type) @ |
右 | [ ] |
不相关 | new |
不相关 | () |
三、测试函数与测试变量
3.1、PHP提供了特定类型的测试函数。
例如:
1) is_array(): 检查变量是否是数组。
2) is_double()、is_float()、is_real(): 检查变量是否是浮点数,所有函数相同。
3) is_long()、is_int()、is_integer(): 检查变量是否是整数,所有函数相同。
4) is_string(): 检查变量是否是字符串。
5) is_bool(): 检查变量是否是布尔值。
6) is_object(): 检查变量是否是一个对象。
7) is_resource(): 检查变量是否是一个资源。
8) is_null(): 检查变量是否为null。
9) is_scalar(): 检查变量是否是标量,即整数、布尔值、字符串或浮点数。
10) is_numeric(): 检查变量是否是数字或数字字符串。
11) is_callable(): 检查变量是否是有效的函数名称。
3.2、测试变量状态
PHP有几个函数用来测试变量状态。
例如:
1) isset()
bool isset(mixed var[, mixed var[, ...]])
issset()需要一个变量作为参数,如果这个变量存在,则返回true,否则返回false。也可以传递一个由逗号间隔的变量列表,如果所有变量都被设置了,即返回true。
还可以使用与isset()相对应的unset()来销毁一个变量:
void unset(mixed var[, mixed var[, ...]])
2) empty()
bool empty(mixed var)
empty()可以用来检查一个变量是否存在,以及它的值是否为非空和非0,相应的返回值为true或false。
四、控制语句
4.1、if else
if (condition) { expression;}elseif (condition) { expression;}else { expression;}
4.2、switch
switch (expression) { case value1: expression; break; case value2: expression; break; defalut: expression; break;}
switch语句工作方式类似于if语句,但是它允许条件可以有多于两个的可能值。在switch语句中,只要条件是一个简单的数据类型,可以提供一个case语句来处理每一个条件值,并且提供相应的动作代码,此外还有一个默认的case条件来处理没有提供特定值的情况。
当switch语句中的特定case被匹配时,PHP将执行该case下的代码,直至遇到break语句,如果没有break语句,switch将执行这个case以下所有值为true的case中的代码。
4.3、whilewhile (condition) { expression;}
4.4、for
for (expression1; condition; expression2) { expression3;}
expression1在开始时只执行一次,通常在这里设置计数器的初始值。在每一次循环开始之前,condtion表达式将被测试,如果表达式的值为false,循环将结束。expression2在每一次循环结束时执行,通常在这里调整计数器的值。expression3在每一次循环中执行一次。
4.5、do while
do { expression;}while (condition);
4.6、跳出控制结构
如果希望停止一段代码的执行,可以有3种方法。
1) 如果希望终止一个循环,可以使用break语句,脚本会从循环体后面的第一条语句开始执行。
2) 如果希望跳到下一次循环,可以使用continue语句。
3) 如果希望结束整个PHP脚本的执行,可以使用exit语句。

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Alipay PHP ...

세션 납치는 다음 단계를 통해 달성 할 수 있습니다. 1. 세션 ID를 얻으십시오. 2. 세션 ID 사용, 3. 세션을 활성 상태로 유지하십시오. PHP에서 세션 납치를 방지하는 방법에는 다음이 포함됩니다. 1. 세션 _regenerate_id () 함수를 사용하여 세션 ID를 재생산합니다. 2. 데이터베이스를 통해 세션 데이터를 저장하십시오.

JWT는 주로 신분증 인증 및 정보 교환을 위해 당사자간에 정보를 안전하게 전송하는 데 사용되는 JSON을 기반으로 한 개방형 표준입니다. 1. JWT는 헤더, 페이로드 및 서명의 세 부분으로 구성됩니다. 2. JWT의 작업 원칙에는 세 가지 단계가 포함됩니다. JWT 생성, JWT 확인 및 Parsing Payload. 3. PHP에서 인증에 JWT를 사용하면 JWT를 생성하고 확인할 수 있으며 사용자 역할 및 권한 정보가 고급 사용에 포함될 수 있습니다. 4. 일반적인 오류에는 서명 검증 실패, 토큰 만료 및 대형 페이로드가 포함됩니다. 디버깅 기술에는 디버깅 도구 및 로깅 사용이 포함됩니다. 5. 성능 최적화 및 모범 사례에는 적절한 시그니처 알고리즘 사용, 타당성 기간 설정 합리적,

PHP 개발에서 견고한 원칙의 적용에는 다음이 포함됩니다. 1. 단일 책임 원칙 (SRP) : 각 클래스는 하나의 기능 만 담당합니다. 2. Open and Close Principle (OCP) : 변경은 수정보다는 확장을 통해 달성됩니다. 3. Lisch의 대체 원칙 (LSP) : 서브 클래스는 프로그램 정확도에 영향을 미치지 않고 기본 클래스를 대체 할 수 있습니다. 4. 인터페이스 격리 원리 (ISP) : 의존성 및 사용되지 않은 방법을 피하기 위해 세밀한 인터페이스를 사용하십시오. 5. 의존성 반전 원리 (DIP) : 높고 낮은 수준의 모듈은 추상화에 의존하며 종속성 주입을 통해 구현됩니다.

시스템이 다시 시작된 후 UnixSocket의 권한을 자동으로 설정하는 방법. 시스템이 다시 시작될 때마다 UnixSocket의 권한을 수정하려면 다음 명령을 실행해야합니다.

phpstorm에서 CLI 모드를 디버그하는 방법은 무엇입니까? PHPStorm으로 개발할 때 때때로 CLI (Command Line Interface) 모드에서 PHP를 디버그해야합니다 ...

정적 바인딩 (정적 : :)는 PHP에서 늦은 정적 바인딩 (LSB)을 구현하여 클래스를 정의하는 대신 정적 컨텍스트에서 호출 클래스를 참조 할 수 있습니다. 1) 구문 분석 프로세스는 런타임에 수행됩니다. 2) 상속 관계에서 통화 클래스를 찾아보십시오. 3) 성능 오버 헤드를 가져올 수 있습니다.

PHP 개발에서 PHP의 CURL 라이브러리를 사용하여 JSON 데이터를 보내면 종종 외부 API와 상호 작용해야합니다. 일반적인 방법 중 하나는 컬 라이브러리를 사용하여 게시물을 보내는 것입니다 ...
