PHP学习笔记

PHP 变量

1、PHP 变量规则:

  • 变量以 $ 符号开头,其后是变量的名称
  • 变量名称必须以字母或下划线开头
  • 变量名称不能以数字开头
  • 变量名称只能包含字母数字字符和下划线(A-z、0-9 以及 _)
  • 变量名称对大小写敏感($y 与 $Y 是两个不同的变量)

2、PHP 变量作用域

在 PHP 中,可以在脚本的任意位置对变量进行声明。

PHP 有三种不同的变量作用域:

  • local(局部):函数内部声明的变量拥有 LOCAL 作用域,只能在函数内部进行访问
  • global(全局):函数之外声明的变量拥有 Global 作用域,只能在函数以外进行访问
  • static(静态):保护局部变量不被修改

如果要再局部访问 全局的变量,必须添加关键词:global 

<?php

$x=5; $y=10;

function myTest() {

global $x,$y;

$y=$x+$y;

}

myTest();

echo $y; // 输出 15

?>

或者:

<?php
    $x=5;$y=10;

    function myTest() {

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

    }

    myTest();

    echo $y; // 输出 15

?>

PHP 同时在名为 $GLOBALS[index] 的数组中存储了所有的全局变量。下标存有变量名。这个数组在函数内也可以访问,并能够用于直接更新全局变量。

static关键词:当函数完成/执行后,会删除所有变量。不过,有时我需要不删除某个局部变量。要完成这一点,在首次声明变量时使用 static 关键词

<?php

function myTest() {

static $x=0;

echo $x;

$x++;

}

myTest();    // 0

myTest();    // 1

myTest();    // 2

?>

echo 和 print 语句

(字符串中可能包含 HTML 标记)

echo 和 print 之间的差异:

  • echo - 能够输出一个以上的字符串
  • print - 只能输出一个字符串,并始终返回 1

提示:echo 比 print 稍快,因为它不返回任何值。

PHP 数组

数组键可以是数字,也可以是字符串,但 key 会有如下的强制转换:

  • 包含有合法整型值的字符串会被转换为整型。例如键名 "8" 实际会被储存为 8。但是 "08" 则不会强制转换,因为其不是一个合法的十进制数值。
  • 浮点数也会被转换为整型,意味着其小数部分会被舍去。例如键名 8.7 实际会被储存为 8
  • 布尔值也会被转换成整型。即键名 true 实际会被储存为 1 而键名 false 会被储存为 0
  • Null 会被转换为空字符串,即键名 null 实际会被储存为 ""
  • 数组和对象不能被用为键名。坚持这么做会导致警告:Illegal offset type
<?php 
    $cars=array("Volvo","BMW","SAAB");
    var_dump($cars);
?>

 PHP var_dump() 会返回变量的数据类型和值。

unset() 函数允许删除数组中的某个键。但要注意数组将不会重建索引。如果需要删除后重建索引,可以用 array_values() 函数。

<?php
$a = array(1 => 'one', 2 => 'two', 3 => 'three');
unset($a[2]);
/* will produce an array that would have been defined as
   $a = array(1 => 'one', 3 => 'three');
   and NOT
   $a = array(1 => 'one', 2 =>'three');
*/

$b = array_values($a);
// Now $b is array(0 => 'one', 1 =>'three')
?>

PHP 对象

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

在 PHP 中,必须明确地声明对象。

首先我们必须声明对象的类。对此,我们使用 class 关键词。类是包含属性和方法的结构。

然后我们在对象类中定义数据类型,然后在该类的实例中使用此数据类型。

PHP内置函数

strlen(str): 返回字符串的长度,以字符计。

strpos(str,key):用于检索字符串内指定的字符或文本,如果找到匹配,则会返回首个匹配的字符位置。如果未找到匹配,则将返回 FALSE。

<?php
  echo strpos("Hello world!","w");
?>

从 HTML 中分离

凡是在一对开始和结束标记之外的内容都会被 PHP 解析器忽略,这使得 PHP 文件可以具备混合内容。 可以使 PHP 嵌入到 HTML 文档中去,但是当处于条件语句中间时,此时 PHP 解释器会根据条件判断来决定哪些输出,哪些跳过。

可以在 PHP 中使用四对不同的开始和结束标记。其中两种,<?php ?> 和 <script language="php"> </script> 总是可用的。

注意:此外注意如果将 PHP 嵌入到 XML 或 XHTML 中则需要使用 <?php ?> 标记以保持符合标准。

posted @ 2018-08-26 11:29  paradiseofsunshine  阅读(148)  评论(0编辑  收藏  举报