php基础语法学习笔记


1.数据类型

1.1 数据类型

1.2 类型转换

2.变量

2.1 普通变量

2.2 预定义变量

2.3 可变变量

2.4 全局变量

2.5 静态变量

3.常量

3.1 普通常量

3.2 预定义常量

4.运算符

4.1 比较运算符:==与===的区别

4.2 字符运算符 “.”

4.3 执行运算符``

4.4 错误控制运算符 @

5.控制结构

5.1 foreach

5.2 for

5.3 while

6.数组

6.1 数组声明

6.2 数组赋值

6.3 数组联合

6.4 数组提取

6.5 数组删除元素

6.6 数组排序

6.7 数组其他函数

6.8 多维数组

7.函数

8.php引用文件

9.php面向对象



1.数据类型

1.1数据类型:

1)标量类型:boolean 、integer、float、string 

2)复合类型 array、object 

3) 特殊类型 resourse、NULL

1.2类型转化:

显式类型转换
• 例如:(int)$total 或 intval($total) 或settype($total, "integer")
• 变量的当前类型可以通过 gettype 函数或是is_type 函数获得
• gettype($total) - 可能返回 "unknown"
• is_integer($total) – 明确告诉你是还是不是

2.变量

2.1普通变量:

例如:$foo='Bob' 

1)弱类型 2)'$'开头

2.2预定义变量

• PHP 提供了大量的预定义变量
• 包括主机和操作系统的许多环境变量
• 可以通过调用 phpinfo() 查看预定义变量列表

2.3可变变量

• 动态定义一个变量的名称

$a = 'hello';
$$a = 'world';
echo "$a $hello";

• 两个变量都被定义了:$a 的内容是“hello”并且 $hello 的内容是“world”

2.4全局变量:需用global

<?php
$a = 1;
$b = 2;
function Sum()
{
global $a, $b;
$b = $a + $b;
}
Sum();
echo $b;
?>

2.5静态变量:static

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

 静态变量仅在局部函数域中存在,但当程序执行离开此作用域时,其值并不丢失。

3.常量

3.1普通常量:

define("NAME","VALUE");

特点:

常量前面没有美元符号($)
• 常量只能用 define() 函数定义,而不能通过赋值语句
• 常量可以不用理会变量作用域的规则而在任何地方定义和访问
• 常量一旦定义就不能被重新定义或者取消定义
• 常量的值只能是标量(整数,浮点数,字符串)

3.2预定义常量

• __FILE__ 执行中的 PHP 程序文件名
• __LINE__  执行中 PHP 程序行数
• PHP_VERSION  PHP 的版本
• PHP_OS 执行 PHP 的操作系统名称
• TRUE  真值
• FALSE 假值
• E_ERROR  指向最近的错误处


4.运算符:

4.1 比较运算符:0=="0" 为真,但是 0==="0" 不为真

4.2字符串运算符:英文句点“.”,其功能是将字符串连接起来,合并成新字符串:$str =‘hello ’ . $name;

4.3执行运算符 ` `

<?php
$output = `ls -al`;
echo "<pre>$output</pre>";
?>

4.4错误控制运算符 @

当将其放置在一个 PHP 表达式之前,该表达式可能产生的任何错误信息都被忽略掉
• 放在变量,函数调用,常量等之前
• 不能放在函数或类的定义之前,也不能用于条件结构例如 if 和 foreach 等


5.控制结构:

 while,do-while,for ,foreach

5.1 foreach

<?php
$arr = array(1, 2, 3, 4);
foreach ($arr as &$value) {
$value = $value * 2;
}
// $arr is now array(2, 4, 6, 8)

?>

5.2 for

<?php
for ($number = 1; $number <=10; $number++) {

}
?>

5.3 while

<?php
while ($a < 100) {
$a = $a * $b + 7;
$b++;
} ?>

或者

<?php
while ($a < 100) :
$a = $a * $b + 7;
$b++;
endwhile; ?>


6.数组

6.1数组声明

$list = array(0 => "apples",
1 => "oranges",
2 => "grapes")

如果给出的 value 没有指定索引,则取当前最大的整数索引值加一

<?php
// This array is the same as ...
$a = array(5 => 43, 32, 56, "b" => 12);
// ...this array
$b = array(5 => 43, 6 => 32, 7 => 56,
"b" => 12);
var_dump($a);
var_dump($b);
?>

6.2数组赋值

赋值数组元素
• 通过 [索引/Key] 访问赋值数组元素
• 如果数组不存在,数组将会被创建
• 如果一个数组元素不存在,它将会被创建
$arr[4] = 7;
$arr["day"] = "Tuesday";
$arr[] = 17;
var_dump($arr);

6.3数组联合

数组的联合
<?php
$a = array("a" => "apple", "b" => "banana");
$b = array("a" => "pear", "b" => "strawberry",
"c" => "cherry");
$c = $a + $b; // Union of $a and $b
var_dump($c);
$c = $b + $a; // Union of $b and $a
var_dump($c);
?>

6.4数组的提取

• 可以将 keys 和 values 从数组中提取出来
$highs = array( "Mon" => 74, "Tue" => 70,
"Wed" => 67, "Thu" => 62,
"Fri" => 65);
$days = array_keys($highs);
$temps = array_values($highs);


6.5删除数组元素

• 使用函数 unset 可以删除数组中的元素

unset($list[4]);// 现在索引为4的元素不存在了
unset($list); // 删除整个数组


6.6数组的排序函数

• 正向,逆向,是否保持索引关系等
• sort
• asort
• rsort
• ksort
• krsort

$fruits = array("lemon", "orange", "banana", "apple");
sort($fruits);
foreach ($fruits as $key => $val) {
echo "fruits[".$key."] = " . $val . "\n";
}
输出:
fruits[0] = apple
fruits[1] = banana
fruits[2] = lemon
fruits[3] = orange


6.7其他数组常用函数

• is_array($list)– 检测变量是否是数组
• in_array(17, $list)– 检测17是否是$list的一个元素
• explode(" ", $str)– 将一个字符串分割成数组,以空格为分隔符
• implode(" ", $list)– 将数组转换成字符串,以空格为分隔符


6.8多维数组

• 多维数组的创建
$arr_books=array(
'0-679-7681-9’=>array(
'name'=>'The New History', 'pages'=>400,
'publisher=>'Vintage Books')
'0-512-85585-5’=>array(
'name'=>'Children of the Mind',
'pages'=>549 , 'publisher'=>'Tor Books')
);
多维数组的访问
• 要查询 The New History 一书的页数有多少,可以使用以下的表达式:
• $arr_books[‘0-51-85595-5’][‘pages’]


7函数

• PHP函数的定义语法为:
function 函数名(参数列表)
{
函数功能;
}
• 函数不能被重载、重复定义,但可以嵌套
• 函数名和关键字忽略大小写区别!
• 可以有返回值(return),也可以没有


从函数返回一个引用,必须在函数声明和指派返回值给一个变量时都使用引用运算符 &
function &returns_reference() {
$someref = "hello";
return $someref;
}
$newref =& returns_reference();
echo $newref;


8.在 PHP 中引用文件

• require()的使用方法,如require("MyRequireFile.php");
• 该函数一般放在 PHP 程序的最前面,PHP程序在执行前,就会先读入 require 语句所指定引入的文件,使它变成 PHP 文件的一部分
在 PHP 中引用文件
• include() 的使用方法和 require() 一样include("MyIncludeFile.php");
• 两者的区别在于,当 require 引用的文件丢失时会产生一个严重错误,程序会停止运行
• include 引用的文件丢失时只会产生一个警告,程序继续运行

9.面向对象的 PHP

<?php
class SimpleClass {
// 成员声明
public $var = 'a default value';
// 方法声明
public function displayVar() {
echo $this->var;
}
}
?>
面向对象的 PHP:继承
<?php
class ExtendClass extends SimpleClass
{
// Redefine the parent method
function displayVar()
{
echo "Extending class\n";
parent::displayVar();
}
}
$extended = new ExtendClass();

$extended->displayVar();

?>




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值