变量

1、定义在函数外部的就是全局变量,它的作用域从定义处一直到文件结尾。
2、函数内定义的变量就是局部变量,它的作用域为函数定义范围内。
3、函数之间存在作用域互不影响。
4、函数内访问全局变量需要 global 关键字或者使用 $GLOBALS[index] 数组
5. 当一个函数完成时,它的所有变量通常都会被删除。然而,有时候希望某个局部变量不要被删除。要做到这一点,在第一次声明变量时使用 static 关键字。然后,每次调用该函数时,该变量将会保留着函数前一次被调用时的值。

<?php
$a=5;
$b=3;
function t1()
{  
    global $a,$b;
    echo $a-$b;  // 输出 2
}
t1();

echo PHP_EOL;

function t2()
{
    echo $GLOBALS['a']-$GLOBALS['b'];  // 输出 2
}
t2();
?>

6.PHP EOF用来定义一个字符串,首部和尾部需要独占一行,EOF可以用别的任意字符替换,但是得保持前后一致


<?php
echo <<<EOF
    <h1>我的第一个标题</h1>
    <p>我的第一个段落。</p>
EOF;
// 结束需要独立一行且前后不能空格
?>

7.PHP 是一门弱类型语言,PHP 会根据变量的值,自动把变量转换为正确的数据类型。

输出

PHP用echo和print来输出内容,他们的区别如下:

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


<?php
print "我要学 PHP!<br>";
echo "这是一个", "字符串,", "使用了", "多个", "参数。";
?>

他们都可以输出html代码,可以实现对应html代码效果

数据类型

1.var_dump() 方法,判断一个变量的类型与长度,并输出变量的数值,如果变量有值,则输出是变量的值,并返回数据类型。显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。
2.数组类型:
$cars=array("Volvo","BMW","Toyota");
3.对象类型,用于存储类型,类对象和js很相似

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

常量

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

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

该函数有三个参数:

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

<?php
// 不区分大小写的常量名
define("GREETING", "哈哈", true);
echo greeting;  // 输出 "哈哈"
?>

常量在定义后,默认是全局变量,可以在整个运行的脚本的任何地方使用。常量的定义不要在函数内定义

字符串

 <?php
$txt1="Hello world!";
$txt2="What a nice day!";
echo $txt1 . $txt2;
?> //输出HelloWorld!What a nice day
echo strlen("Hello world!"); //strlen()用于输出字符串长度

循环,条件判断

和java等语言相同,使用if,if…else,switch,when等,这里不再复述
这里就提一下PHP的foreach循环:

foreach ($array as $value)
{
    要执行代码;
}

数组

关联数组能用自指定的键访问值

<?php 
    $fruits=array("apple","peach","pear");//定义数组
    $age=array("a"=>"10","b"=>"11","c"=>"12");//定义关联数组
    $length=count($fruits);//定义数组长度
    echo <<<EOF
    $length<br/>
EOF;
    for($i=0;$i<$length;$i++){
       echo $fruits[$i];
       echo "<br/>";
    }//遍历数组
    foreach($age as $x=>$xAge){
       echo $x." is ".$xAge."<br/>";
    }//遍历关联数组
?> 

数组排序

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