php--随便写写
心有余而力不足
通过 PHP,有两种在浏览器输出文本的基础指令:echo 和 print。
变量以 $ 符号开始,后面跟着变量的名称
PHP 语句和 PHP 变量都是区分大小写的。
PHP 是一门弱类型语言,不必向 PHP 声明该变量的数据类型。
PHP 有四种不同的变量作用域:
local
global
static
parameter
在所有函数外部定义的变量,拥有全局作用域
要在一个函数中访问一个全局变量,需要使用 global 关键字。
global 关键字用于函数内访问全局变量。
<?php
$x=5;
$y=10;
function myTest()
{
global $x,$y;
$y=$x+$y;
}
myTest();
echo $y; // 输出 15
?>
//hhhhh
<?php
$x=5;
$y=10;
function myTest()
{
$GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];
}
myTest();
echo $y;
?>
PHP 将所有全局变量存储在一个名为 $GLOBALS[index] 的数组中。 index 保存变量的名称。这个数组可以在函数内部访问,也可以直接用来更新全局变量。
当一个函数完成时,它的所有变量通常都会被删除。然而,有时候您希望某个局部变量不要被删除。
要做到这一点,请在您第一次声明变量时使用 static 关键字:
<?php
function myTest()
{
static $x=0;
echo $x;
$x++;
echo PHP_EOL; // 换行符
}
myTest();
myTest();
myTest();
?>
参数作用域
参数是通过调用代码将值传递给函数的局部变量。
参数是在参数列表中声明的,作为函数声明的一部分:
<?php
function myTest($x)
{
echo $x;
}
myTest(5);
?>
echo 和 print 区别:
echo - 可以输出一个或多个字符串
print - 只允许输出一个字符串,返回值总为 1
echo 输出的速度比 print 快, echo 没有返回值,print有返回值1。
PHP EOF(heredoc)是一种在命令行shell(如sh、csh、ksh、bash、PowerShell和zsh)和程序语言(像Perl、PHP、Python和Ruby)里定义一个字符串的方法。
数据类型
String(字符串), Integer(整型), Float(浮点型), Boolean(布尔型), Array(数组), Object(对象), NULL(空值)。
var_dump() 方法,判断一个变量的类型与长度,并输出变量的数值,如果变量有值,则输出是变量的值,并返回数据类型。显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。
松散比较:使用两个等号 == 比较,只比较值,不比较类型。
严格比较:用三个等号 === 比较,除了比较值,也比较类型。
bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )
常量在定义后,默认是全局变量,可以在整个运行的脚本的任何地方使用。
在 PHP 中,只有一个字符串运算符。 并置
并置运算符 (.) 用于把两个字符串值连接起来。
strlen() 函数
strpos() 函数用于在字符串内查找一个字符或一段指定的文本。
如果在字符串中找到匹配,该函数会返回第一个匹配的字符位置。如果未找到匹配,则返回 FALSE。
PHP7+ 版本新增整除运算符 intdiv(),该函数返回值为第一个参数除于第二个参数的值并取整(向下取整),使用
x === y 绝对等于
x !== y 绝对不等于
and or && || xor ! 注意优先级不同
// 优先级: && > = > and
// 优先级: || > = > or
在 PHP7+ 版本多了一个 NULL 合并运算符 ??
<?php
// 如果 $_GET['user'] 不存在返回 'nobody',否则返回 $_GET['user'] 的值
$username = $_GET['user'] ?? 'nobody';
// 类似的三元运算符
$username = isset($_GET['user']) ? $_GET['user'] : 'nobody';
?>
PHP7+ 支持组合比较符(combined comparison operator)也称之为太空船操作符,符号为 <=>。组合比较运算符可以轻松实现两个变量的比较,当然不仅限于数值类数据的比较。 a-b -1 0 1
if elseif else
在 PHP 中,有三种类型的数组:
数值数组 - 带有数字 ID 键的数组
关联数组 - 带有指定的键的数组,每个键关联一个值
多维数组 - 包含一个或多个数组的数组
count() 函数用于返回数组的长度(元素的数量):
关联数组
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
//or:
$age['Peter']="35";
$age['Ben']="37";
$age['Joe']="43";
//遍历并打印关联数组中的所有值,您可以使用 foreach 循环,
<?php
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
foreach($age as $x=>$x_value)
{
echo "Key=" . $x . ", Value=" . $x_value;
echo "<br>";
}
?>
PHP 数组排序函数:
sort() - 对数组进行升序排列 +++
rsort() - 对数组进行降序排列 ---
asort() - 根据关联数组的值,对数组进行升序排列 array+++
ksort() - 根据关联数组的键,对数组进行升序排列 key+++
arsort() - 根据关联数组的值,对数组进行降序排列 array---
krsort() - 根据关联数组的键,对数组进行降序排列 key---
PHP 超级全局变量列表:
$GLOBALS
$_SERVER
$_REQUEST
$_POST
$_GET
$_FILES
$_ENV
$_COOKIE
$_SESSION
$GLOBALS 是一个包含了全部变量的全局组合数组。变量的名字就是数组的键。
LINE
文件中的当前行号。
FILE
文件的完整路径和文件名。
DIR
文件所在的目录。
FUNCTION
函数名称(PHP 4.3.0 新加)
CLASS
类的名称(PHP 4.3.0 新加)
TRAIT
Trait 的名字(PHP 5.4.0 新加)。自 PHP 5.4.0 起,PHP 实现了代码复用的一个方法,称为 traits。
METHOD
类的方法名
NAMESPACE
当前命名空间的名称
在声明命名空间之前唯一合法的代码是用于定义源文件编码方式的 declare 语句
面向对象的程序设计(英语:Object-oriented programming,缩写:OOP)
多态 − 多态性是指相同的函数或方法可作用于多种类型的对象上并获得不同的结果。不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性。
重载 − 简单说,就是函数或者方法有同样的名称,但是参数列表不相同的情形,这样的同名不同参数的函数或者方法之间,互相称之为重载函数或者方法。