全栈php,全栈-php基础

PHP基础

语法

变量

变量区分大小写

使用全局变量

静态变量定义

输出语句

数据类型

字符串

PHP整型的三种格式

布尔型

var_dump()函数查看数据类型

PHP数组

PHP对象

NULL/null值 可用于清空数据

定义常量

字符串处理

运算符

常用函数

PHP运算符

比较运算符

逻辑运算符

数组运算符

三元运算符

组合运算符

运算符优先级

条件执行语句

PHP数组

创建数组

获取数组长度

遍历数组

数组排序

超级全局变量

$GLOBALS

$_SERVER

$_REQUEST

GET和 G E T 和_POST用法同上

循环语句

PHP函数

创建函数

带返回值函数

PHP魔术变量

命名空间

常见错误

PHP面向对象

PHP基础

语法

//PHP代码

echo "hello world!"; //以分号结束语句

/*注释*/

?>

变量

变量区分大小写

$x=5;

$y=6;

$z=$x+$y;

echo $z;

?>

变量不需要定义,在第一次赋值时自动创建。

使用全局变量

$x = 10;

$y = 20;

function test()

{

$y = 9;

global $x;

echo $x; //x=10

echo $y; //y=9

}

test();

?>

全局变量保存在GLOBALS数组中,可以在函数内访问:

$x=5;

$y=10;

function myTest()

{

$GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];

}

静态变量定义

static $x=0;

输出语句

echo和print是用来输出的。

echo可以多个字符串连起来,逗号分割。

$txt1="学习 PHP";

$txt2="RUNOOB.COM";

$cars=array("Volvo","BMW","Toyota");

echo $txt1;

echo "

";

echo "在 $txt2 学习 PHP ";

echo "

";

echo "我车的品牌是 {$cars[0]}";

?>

数据类型

String(字符串),

Integer(整型),

Float(浮点型),

Boolean(布尔型),

Array(数组),

Object(对象),

NULL(空值)

字符串

字符串可以以单引号或双引号括起来

PHP整型的三种格式

整型可以用三种格式来指定:

1. 十进制

2. 十六进制( 以 0x 为前缀)

3. 八进制(前缀为 0)

布尔型

$x = true;

var_dump()函数查看数据类型

PHP var_dump() 函数可以返回变量的数据类型和值:

echo var_dump(555);

var_dump("hello");

?>

PHP数组

创建数组

$cars=array("Volvo","BMW","Toyota");

var_dump($cars);

?>

PHP对象

class Car

{

var $color;

function Car($color="green") {

$this->color = $color;

}

function what_color() {

return $this->color;

}

}

?>

NULL/null值 可用于清空数据

$x="Hello world!";

$x=null;

var_dump($x);

?>

定义常量

bool define( string $name , mixed $value [, bool $case_insensitive = false ])

// 区分大小写的常量名

define("GREETING", "欢迎访问 Runoob.com");

echo GREETING; // 输出 "欢迎访问 Runoob.com"

echo '

';

echo greeting; // 输出 "greeting"

?>

字符串处理

运算符

PHP只有一个字符串运算符.,用于将两个字符串连接起来

$txt1="Hello world!";

$txt2="What a nice day!";

echo $txt1 . " " . $txt2;

?>

常用函数

strlen() 返回字符串长度

strpos() 查找字符串位置

echo strpos("Hello world!","world");

?>

对于中文:

echo strlen("中文字符"); // 输出 11

?>

/*输出结果为 12,因为一个中文占 3 个字符数。

可以使用 mb_strlen 设置指定编码输出中文字符个数:*/

echo mb_strlen("中文字符",'utf-8'); // 输出 4

?>

PHP运算符

取反: -x

赋值运算符: =,+=,-=等等

递增递减: x++,x–

比较运算符

x == y 等于,不同类型的比较会强转

x === y 绝对等于,仅当x等于y且类型相同才返回true

逻辑运算符

and or xor && || !

数组运算符

x + y 集合 x 和 y 的集合

x == y 相等 如果 x 和 y 具有相同的键/值对,则返回 true

x === y 恒等 如果 x 和 y 具有相同的键/值对,且顺序相同类型相同,则返回 true

x != y 不相等 如果 x 不等于 y,则返回 true

x <> y 不相等 如果 x 不等于 y,则返回 true

x !== y 不恒等 如果 x 不等于 y,则返回 true

三元运算符

? :

组合运算符

$c = $a <=> $b;

这句代码的意思是:

如果 $a > $b, $c 的值为 1

如果 $a == $b, $c 的值为 0

如果 $a < $b, $c 的值为-

运算符优先级

运算符的优先级口诀:括(号)、单(操作数)、算(术)、移(位)、关(系);位(运算符)、逻(辑)、条(件)、赋(值)、逗(号)。

// 优先级: && > = > and

// 优先级: || > = > or

$a = 3;

$b = false;

$c = $a or $b;

var_dump($c); // 这里的 $c 为 int 值3,而不是 boolean 值 true

$d = $a || $b;

var_dump($d); //这里的 $d 就是 boolean 值 true

?>

条件执行语句

if(条件)

条件若是数值,则只要不是0就代表是true;

条件若是字符串,则空字符串代表false

if..else..

if..elseif..else

switch(){case x:}

与java一样

PHP数组

类型:

数值数组-带有数字ID键的数组

关联数组-带有指定的键的数组

多维数组-包含一个或多个数组的数组

创建数组

数值ID数组

$cars=array("Volvo","BMW","Toyota");

echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";

?>

关联数组

$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");

echo "Peter is " . $age['Peter'] . " years old.";

?>

获取数组长度

count()

遍历数组

遍历数值数组

$cars=array("Volvo","BMW","Toyota");

$arrlength=count($cars);

for($x=0;$x

{

echo $cars[$x];

echo "

";

}

?>

遍历关联数组

$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");

foreach($age as $x=>$x_value)

{

echo "Key=" . $x . ", Value=" . $x_value;

echo "

";

}

?>

foreach 语法结构提供了遍历数组的简单方式。foreach 仅能够应用于数组和对象,如果尝试应用于其他数据类型的变量,或者未初始化的变量将发出错误信息。有两种语法:

foreach (array_expression as $value)

statement

foreach (array_expression as $key => $value)

statement

第一种格式遍历给定的 array_expression 数组。每次循环中,当前单元的值被赋给 value并且数组内部的指针向前移一步(因此下一次循环中将会得到下一个单元)。第二种格式做同样的事,只除了当前单元的键名也会在每次循环中被赋给变量 v a l u e 并 且 数 组 内 部 的 指 针 向 前 移 一 步 ( 因 此 下 一 次 循 环 中 将 会 得 到 下 一 个 单 元 ) 。 第 二 种 格 式 做 同 样 的 事 , 只 除 了 当 前 单 元 的 键 名 也 会 在 每 次 循 环 中 被 赋 给 变 量key。

数组排序

sort() - 对数组进行升序排列

rsort() - 对数组进行降序排列

asort() -

根据关联数组的值,对数组进行升序排列

ksort() - 根据关联数组的键,对数组进行升序排列

arsort() - 根据关联数组的值,对数组进行降序排列

krsort() - 根据关联数组的键,对数组进行降序排列

排序直接影响原数组

超级全局变量

PHP中预定义了几个超级全局变量(superglobals) ,这意味着它们在一个脚本的全部作用域中都可用。 你不需要特别说明,就可以在函数及类中使用。

$GLOBALS

全局变量数组

$x = 75;

$y = 25;

function addition()

{

$GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y'];

}

addition();

echo $z;

?>

$_SERVER

由web服务器创建,保存server信息

echo $_SERVER['PHP_SELF'];

echo "

";

echo $_SERVER['SERVER_NAME'];

echo "

";

echo $_SERVER['HTTP_HOST'];

echo "

";

echo $_SERVER['HTTP_REFERER'];

echo "

";

echo $_SERVER['HTTP_USER_AGENT'];

echo "

";

echo $_SERVER['SCRIPT_NAME'];

?>

$_REQUEST

收集表单中提交的数据

Name:

form>

$name = $_REQUEST['fname'];

echo $name;

?>

body>

html>

GET和 G E T 和_POST用法同上

循环语句

while(..)…

do while(..)

for(..;..;..)

以上同JAVA

PHP函数

创建函数

function func()

{

//要执行的代码

}

?>

带返回值函数

返回类型不需要定义

function add($x, $y)

{

return $x + $y;

}

echo '1+2=' . add(1,2);

?>

PHP魔术变量

PHP 向它运行的任何脚本提供了大量的预定义常量。

不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了。

有八个魔术常量它们的值随着它们在代码中的位置改变而改变。

LINE和 FILE

用于显示当前行和当前文件

echo __LINE__.' ';

echo __FILE__;

?>

__DIR__ 文件缩在目录

__FUNCTION__ 当前函数名

__CLASS__ 当前类名

__TRAIT__ trait名

__METHOD__ 类的方法名

__NAMESPACE__ 当前命名空间

命名空间

在声明命名空间之前唯一合法的代码是用于定义源文件编码方式的 declare 语句。所有非 PHP 代码包括空白符都不能出现在命名空间的声明之前。

常见错误

namespace MyProject; // 命名空间前出现了“” 会致命错误 - 命名空间必须是程序脚本的第一条语句

?>

PHP面向对象

类定义

class Hero

{

private $name;

private $sex;

public function __construct($name, $sex)

{

$this->name = $name;

$this->sex = $sex;

}

public function __destruct()

{

echo 'Hero:'.$this->name.'销毁。';

}

function jump()

{

echo $this->name.' jump!'.'';

}

function run()

{

echo $this->name.' run!'.'

';

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值