PHP速成(一)

PHP

0x00 基本语法

基本

PHP 脚本可以放在文档中的任何位置。

PHP 脚本以

<?php
    //php代码段
?>

PHP 文件的默认文件扩展名是 “.php”。

PHP 文件通常包含 HTML 标签和一些 PHP 脚本代码。

实例

<!DOCTYPE html> 
<html> 
<body> 
<h1>My first PHP page</h1> 
<?php 
echo "Hello World!"; 
?> 
</body> 
</html>

注释方式

PHP的注释方式与C语言类似,单行注释为“//”,多行注释用“/* ……….. */”

0x01 变量

PHP 变量规则:

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

PHP 没有声明变量的命令。

变量在您第一次赋值给它的时候被创建:

<?php
$txt="Hello world!";//字符串赋值需要加上双引号
$x=5;
$y=10.5;
?>

PHP是一门弱类型语言,因此不必声明变量类型,PHP会根据需要的类型进行自动转换,这也是PHP具有多种漏洞的原因之一

变量作用域

<?php 
$x=5; // 全局变量 
function myTest() 
{ 
    $y=10; // 局部变量 
    echo "<p>测试函数内变量:<p>"; 
    echo "变量 x 为: $x"; 
    echo "<br>"; 
    echo "变量 y 为: $y"; 
}  
myTest(); 
echo "<p>测试函数外变量:<p>"; 
echo "变量 x 为: $x"; 
echo "<br>"; 
echo "变量 y 为: $y"; 
?> 

运行结果:

测试函数内变量:
变量 x 为: 
变量 y 为: 10
测试函数外变量:
变量 x 为: 5
变量 y 为:

在所有函数外部定义的变量,拥有全局作用域。除了函数外,全局变量可以被脚本中的任何部分访问,要在一个函数中访问一个全局变量,需要使用 global 关键字,在 PHP 函数内部声明的变量是局部变量,仅能在函数内部访问,如果要跨域访问,需要在变量前加上“global”关键字,PHP 将所有全局变量存储在一个名为 $GLOBALS[index] 的数组中。 index 保存变量的名称。这个数组可以在函数内部访问,也可以直接用来更新全局变量。

static作用域

当一个函数完成时,它的所有变量通常都会被删除。然而,有时候您希望某个局部变量不要被删除。

要做到这一点,请在您第一次声明变量时使用 static 关键字

<?php
function myTest()
{
    static $x=0;
    echo $x;
    $x++;
}
myTest();
myTest();
myTest();
?>

运行结果:012

函数参数

<?php
function myTest($x)
{
    echo $x;
}
myTest(5);
?>

0x02 echo与print

echo 和 print 区别:

  • echo - 可以输出一个或多个字符串
  • print - 只允许输出一个字符串,返回值总为 1

**提示:**echo 输出的速度比 print 快, echo 没有返回值,print有返回值1。

echo 是一个语言结构,使用的时候可以不用加括号,也可以加上括号: echo 或 echo()。

echo输出

<?php
echo "<h2>PHP 很有趣!</h2>";
echo "Hello world!<br>";
echo "我要学 PHP!<br>";
echo "这是一个", "字符串,", "使用了", "多个", "参数。";

$txt1="学习 PHP";
$txt2="RUNOOB.COM";
$cars=array("Volvo","BMW","Toyota");

echo $txt1;
echo "<br>";
echo "在 $txt2 学习 PHP ";
echo "<br>";
echo "我车的品牌是 {$cars[0]}";
?>

print输出

<?php
print "<h2>PHP 很有趣!</h2>";
print "Hello world!<br>";
print "我要学习 PHP!";

$txt1="学习 PHP";
$txt2="RUNOOB.COM";
$cars=array("Volvo","BMW","Toyota");

print $txt1;
print "<br>";
print "在 $txt2 学习 PHP ";
print "<br>";
print "我车的品牌是 {$cars[0]}";
?>

0x03 PHP EOF

EOF可以使PHP完全输出定界符内的内容,不需要添加任何转义字符,而定界符中的变量会被替换成相应的值,可以用来输出大量的代码或者进行shell的交互。

<?php
$name="456";
$a= <<<EOF
    "abc"$name
    "123"
EOF;
// 结束需要独立一行且前后不能空格
echo $a;
?>

0x04 PHP数据类型

PHP5的数据类型包括:String(字符串), Integer(整型), Float(浮点型), Boolean(布尔型), Array(数组), Object(对象), NULL(空值)。

PHP字符串

<?php //单引号或者双引号都可以
$x = "Hello world!";//一个字符串是一串字符的序列
echo $x;
echo "<br>"; 
$x = 'Hello world!';
echo $x;
?>

PHP整型

整数规则:

  • 整数必须至少有一个数字 (0-9)
  • 整数不能包含逗号或空格
  • 整数是没有小数点的
  • 整数可以是正数或负数
  • 整型可以用三种格式来指定:十进制, 十六进制( 以 0x 为前缀)或八进制(前缀为 0)。
<?php 
$x = 5985;
var_dump($x);//此函数可以返回变量的数据类型和值
$x = -345; // 负数 
var_dump($x);
$x = 0x8C; // 十六进制数
var_dump($x);
$x = 047; // 八进制数
var_dump($x);
?>

运行结果

int(5985) 
int(-345) 
int(140) 
int(39)

PHP浮点型

<?php 
$x = 10.365;
var_dump($x);
$x = 2.4e3;
var_dump($x);
$x = 8E-5;
var_dump($x);
?>

运行结果

float(10.365) 
float(2400) 
float(8.0E-5)

PHP布尔类型

$x=true;
$y=false;

PHP数组

<?php
    $names=array("name1","name2");
?>

PHP对象

对象数据类型也可以用于存储数据。

在 PHP 中,对象必须声明。

首先,你必须使用class关键字声明类对象。类是可以包含属性和方法的结构。

然后我们在类中定义数据类型,然后在实例化的类中使用数据类型:

<?php
class Car
{
    var $color;
    function __constuct($color="green"){
        $this->color=$color;
    }
    function what_color(){
        return $this->color;
    }
}

PHP NULL

NULL 值表示变量没有值。NULL 是数据类型为 NULL 的值。

NULL 值指明一个变量是否为空值。 同样可用于数据空值和NULL值的区别。

可以通过设置变量值为 NULL 来清空变量数据

<?php
$x=null;
var_dump($x);
?>

0x05 PHP常量

常量是一个简单值的标记符,常量被定义之后,其值在脚本的任何其他地方都不能改变,常量的作用域是全局

设置常量的方法:

使用define()函数来设置常量,函数语法如下:

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

函数参数说明:

  • name:必选参数,常量名称,即标志符。
  • value:必选参数,常量的值。
  • case_insensitive :可选参数,如果设置为 TRUE,该常量则大小写不敏感。默认是大小写敏感的。

常量作用域为全局

<?php
define("GREETING", "欢迎访问 Runoob.com"); 
function myTest() {
    echo GREETING;
}
myTest();    // 输出 "欢迎访问 Runoob.com"
?>

PHP并置运算符

PHP只有一个字符串运算符“.”,可以将多个字符串或字符连接起来

<?php 
$txt1="Hello world!"; 
$txt2="What a nice day!"; 
echo $txt1 . " " . $txt2; 
?>

PHP strlen()函数

用于返回一个字符串的长度

echo strlen("Hello world!");

PHP strpos() 函数

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

如果在字符串中找到匹配,该函数会返回第一个匹配的字符位置。如果未找到匹配,则返回 FALSE。

下面的实例在字符串 “Hello world!” 中查找文本 “world”:

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

运行结果

6

猜你喜欢

转载自blog.csdn.net/levones/article/details/80503655