PHP之认识PHP(一)

1.1php一个最简单的例子

<!DOCTYPE html>
<html>
<body>

<?php
echo "My first PHP script!";
?>

</body>
</html>

1.2php的使用

集成的开发环境WampServer,下载地址www.wampserver.com

1.3注释

// 这是 PHP 单行注释

/*
这是 
PHP 多行
注释
*/

1.4变量

PHP 变量规则:

  • 变量以 $ 符号开始,后面跟着变量的名称
  • 变量名必须以字母或者下划线字符开始
  • 变量名只能包含字母数字字符以及下划线(A-z、0-9 和 _ )
  • 变量名不能包含空格
  • 变量名是区分大小写的($y 和 $Y 是两个不同的变量)

1.5echo与print

echo , print 和 print_r的区别:

  • echo   - 可以输出一个或多个字符串
  • print   - 只能输出简单类型变量的值,如int,string
  • print_r - 可以输出复杂类型变量的值,如数组,对象
  • 使用时必须加上括号:print_r()。
  • $cars=array("Volvo","BMW","Toyota");      print_r($cars);

1.6数据类型

String(字符串)Integer(整型), Float(浮点型), Boolean(布尔型), Array(数组), Object(对象), NULL(空值)。 

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

1.7常量

常量是一个简单值的标识符。该值在脚本中不能改变。

一个常量由英文字母、下划线、和数字组成,但数字不能作为首字母出现。 (常量名不需要加 $ 修饰符)。

格式:define(string constant_name, mixed value, case_sensitive = true)

  • constant_name:必选参数,常量名称,即标志符。
  • value:必选参数,常量的值。
  • case_sensitive:可选参数,指定是否大小写敏感,设定为 true 表示不敏感。

1.8字符串常量

strlen() 函数返回字符串的长度(字符数)。

echo strlen("Hello world!");

strpos() 函数用于在字符串内查找一个字符或一段指定的文本。

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

1.9运算符

算术运算符、递增/递减运算符、比较运算符、逻辑运算符、数组运算符、三元运算符等。

1.9.1(+,-,*,/,%,-,.)

1.9.2(+=,-=,*=,/=,%=,-=,.=)

1.9.3(++,--)

1.9.4(==,===,!=,<>,!===,<,>,<=,>=,)

运算符 名称 描述 实例
x == y 等于 如果 x 等于 y,则返回 true 5==8 返回 false
x === y 恒等于 如果 x 等于 y,且它们类型相同,则返回 true 5==="5" 返回 false
x != y 不等于 如果 x 不等于 y,则返回 true 5!=8 返回 true
x <> y 不等于 如果 x 不等于 y,则返回 true 5<>8 返回 true
x !== y 不恒等于 如果 x 不等于 y,它们类型不相同,则返回 true 5!=="5" 返回 true

1.9.5(and,or,xor,&&,||,!)

1.9.6数组运算符

1.9.7三元运算符

(expr1) ? (expr2) : (expr3)

(PHP5.3起)expr1 ?: expr3

1.10if-else语句

  • if 语句 - 在条件成立时执行代码
  • if...else 语句 - 在条件成立时执行一块代码,条件不成立时执行另一块代码
  • *if...else if....else 语句 - 在若干条件之一成立时执行一个代码块
  • switch 语句 - 在若干条件之一成立时执行一个代码块

1.11switch语句

工作原理:首先对一个简单的表达式 n(通常是变量)进行一次计算。将表达式的值与结构中每个 case 的值进行比较。如果存在匹配,则执行与 case 关联的代码。代码执行后,使用 break 来阻止代码跳入下一个 case 中继续执行。default 语句用于不存在匹配(即没有 case 为真)时执行。(特别注意当default语句放到最后是的情况

1.12数组

  • 数值数组 - 带有数字 ID 键的数组
  • 关联数组 - 带有指定的键的数组,每个键关联一个值
  • 多维数组 - 包含一个或多个数组的数组

1.12.1数值数组

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

$cars[0]="Volvo";
$cars[1]="BMW";
$cars[2]="Toyota";

count() 函数用于返回数组的长度(元素的数量):

1.12.2关联数组

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

$age['Peter']="35";
$age['Ben']="37";
$age['Joe']="43";

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

echo "Key=" . $x . ", Value=" . $x_value; 
echo "<br>"; 

1.13数组排序

  • sort() - 对数组进行升序排列
  • rsort() - 对数组进行降序排列
  • asort() - 根据关联数组的值,对数组进行升序排列
  • ksort() - 根据关联数组的键,对数组进行升序排列
  • arsort() - 根据关联数组的值,对数组进行降序排列
  • krsort() - 根据关联数组的键,对数组进行降序排列

1.14超级全局变量

  • $GLOBALS
  • $_SERVER
  • $_REQUEST
  • $_POST
  • $_GET
  • $_FILES
  • $_ENV
  • $_COOKIE
  • $_SESSION

1.14.1

$GLOBALS 是PHP的一个超级全局变量组,在一个PHP脚本的全部作用域中都可以访问。

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

1.14.2

$_SERVER 是一个包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组。这个数组中的项目由 Web 服务器创建。不能保证每个服务器都提供全部项目;服务器可能会忽略一些,或者提供一些没有在这里列举出来的项目。

1.14.3

PHP $_REQUEST 用于收集HTML表单提交的数据。

1.14.4

PHP $_POST 被广泛应用于收集表单数据,在HTML form标签的指定该属性:"method="post"。

1.14.5

PHP $_GET 同样被广泛应用于收集表单数据,在HTML form标签的指定该属性:"method="get"。

1.15while循环

  • while - 只要指定的条件成立,则循环执行代码块
  • do...while - 首先执行一次代码块,然后在指定的条件成立时重复这个循环
  • for - 循环执行代码块指定的次数
  • foreach - 根据数组中每个元素来循环代码块

1.16for循环

for (初始值; 条件; 增量)
{
要执行的代码;
}

  • 初始值:主要是初始化一个变量值,用于设置一个计数器(但可以是任何在循环的开始被执行一次的代码)。
  • 条件:循环执行的限制条件。如果为 TRUE,则循环继续。如果为 FALSE,则循环结束。
  • 增量:主要用于递增计数器(但可以是任何在循环的结束被执行的代码)。

1.17函数

function functionName()
{
要执行的代码;
}

  • 函数的名称应该提示出它的功能

  • 函数名称以字母或下划线开头(不能以数字开头)

1.18魔术常量

些特殊的常量不区分大小写

echo '这是第 “ '  . __LINE__ . ' ” 行';

echo '该文件位于 “ '  . __FILE__ . ' ” ';

echo '该文件位于 “ '  . __DIR__ . ' ” ';

echo  '函数名为:' . __FUNCTION__ ;}test();

echo '类名为:'  . __CLASS__ . "<br>";

echo  '函数名为:' . __METHOD__ ;

echo '命名空间为:"', __NAMESPACE__, '"'; // 输出 "MyProject"

Trait 的名字(PHP 5.4.0 新加)。自 PHP 5.4.0 起,PHP 实现了代码复用的一个方法,称为 traits。

Trait 名包括其被声明的作用区域(例如 Foo\Bar)。

从基类继承的成员被插入的 SayWorld Trait 中的 MyHelloWorld 方法所覆盖。其行为 MyHelloWorld 类中定义的方法一致。优先顺序是当前类中的方法会覆盖 trait 方法,而 trait 方法又覆盖了基类中的方法。

<?php
class Base {
    public function sayHello() {
    echo 'Hello ';
    }}
    trait SayWorld {
    public function sayHello() {\
    parent::sayHello();\
    echo 'World!';\
    }}
class MyHelloWorld extends Base {\
    use SayWorld;}$o = new MyHelloWorld();$o->sayHello();
?>

结果为Hello World!

猜你喜欢

转载自blog.csdn.net/qq_41166992/article/details/89183828