PHP引入
<?php
echo"hello world";
//phpinfo();输出php的所有信息
?>
1.常用的输出函数
- echo - 可以输出一个或多个字符串
- print - 只允许输出一个字符串,返回值总为 1
- var_dump() 函数返回变量的数据类型和值,如果变量不存在则返回 NULL
- print_r 打印关于变量的易于理解的信息,如果给出的是 string、integer 或 float,将打印变量值本身。
- 如果给出的是 array,将会按照一定格式显示键和元素。object 与数组类似。
- 记住,print_r() 将把数组的指针移到最后边。使用 reset() 可让指针回到开始处。
1.1 echo函数
//功能:可将紧跟其后的一个或多个字符串、表达式、变量和常量的值输出到页面中,多个数据之间用逗号“,”分割
echo "Hello World!<br>";
echo '2+5=',2+5,'<br>';
1.2 var_dump()函数
//功能:不仅可以打印一个或多个的任意类型的数据,还可以获取数据的类型和元素个数
var_dump("hello world!");
1.3 print()函数
//功能:print用于输出一个或多个字符串,它只能打印出简单类型变量的值
//例1.
$cook="123woau";
print($cook);//输出的结果是:123woau
//例2.
$str="hello world!";
print $str;//输出的结果是:hello world!
1.4 print_r()函数
//功能:能打印出复杂类型变量的值,还可以打印出数组内容及结构,并按照一定格式显示键和元素。
//例1.
$age=array(18,20,24);
print_r($age);
//输出的结果是:
Array
(
[0] => 18
[1] => 20
[2] => 24
)
//例2.
$a=12;
print_r($a);//输出结果:12
##1.5 并置运算符 (.) 用于把两个字符串值连接起来。
echo"<======字符串拼接======>"."<br>";
$str = 'learning';
$html = 'Welcome to ' . $str . ' PHP';
echo $html."<br>";
2.标识符和关键字
- 标识符是自定义的,关键字是系统定义好的
3.常量
3.1自定义常量
/**
* bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )
* name:必选参数,常量名称,即标志符。
* value:必选参数,常量的值。
* case_insensitive :可选参数,如果设置为 TRUE,该常量则大小写不敏感。默认是大小写敏感的。
* 使用前不加$
*/
(1)define()函数
define("PI",12345678);
echo PI."\n";
(2)const
const pi=12333;
echo pi;
(3)将换行符定义成一个常量,方便后续使用
define("n","\n");
echo "alley".n."alex";
(4)例子(const)
const R = 6;
const P = 2 * R;
echo 'P=', P; // 输出结果:P=12
3.2预定义常量(系统预先定义好的,可直接使用)
- __LINE__ 文件中的当前行号。
- __FILE__ 文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。
- __DIR__ 文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录。
- __FUNCTION__ 函数名称,返回该函数被定义时的名字(区分大小写)
- __CLASS__ 类的名称 , 暂不测试
- __METHOD__ 类的方法名, 暂不测试
- __NAMESPACE__ 当前命名空间的名称, 暂不测试
//获取当前PHP的版本号
echo'当前PHP的版本号是:',PHP_VERSION;
echo "<======魔法常量======>"."<br>";
echo '这是第 " ' . __LINE__ . ' " 行'.'<br>';
echo '该文件位于 " ' . __FILE__ . ' " '.'<br>';
echo '该文件位于 " ' . __DIR__ . ' " '.'<br>';
4.变量
- 变量以 $ 符号开始,后面跟着变量的名称
- 变量名必须以字母或者下划线字符开始
- 变量名只能包含字母、数字以及下划线(A-z、0-9 和 _ )
- 变量名不能包含空格
- 变量名是区分大小写的($y 和 $Y 是两个不同的变量)
4.1赋值
//传值赋值
$num1=10;
$num2=$num1;
echo '$num1的值为:',$num1;//输出结果为:$num1的值为:10
//引用赋值
$num1=10;
$num2=&$num1;
$num2=5;
echo '<br>$num1的值为:',$num1.'<br>';//输出结果为:$num1的值为:5
4.2全局变量和局部变量
$num3=5;//全局变量
function fun1(){
$num3=3;//局部变量
echo '$num3的值为:',$num;
}
fun1();//输出结果:$num3的值为:3
echo '$num3的值为:',$num3;//输出结果为:$num3的值为:5
5.数据类型
- String(字符串)
- 一个字符串是一串字符的序列
$x = "Hello world!";
echo $x;
- Integer(整型)
- 整数必须至少有一个数字 (0-9)
- 整数不能包含逗号或空格
- 整数是没有小数点的
- 整数可以是正数或负数
- 整型可以用三种格式来指定:十进制, 十六进制( 以 0x 为前缀)或八进制(前缀为 0)。
$x = 5985;
var_dump($x);
$x = -345; // 负数
var_dump($x);
$x = 0x8C; // 十六进制数
var_dump($x);
$x = 047; // 八进制数
var_dump($x);
- Float(浮点型)
- 浮点数是带小数部分的数字,或是指数形式。
$x = 10.365;
var_dump($x);
$x = 2.4e3;
var_dump($x);
$x = 8E-5;
var_dump($x);
- Boolean(布尔型)
- 布尔型可以是 TRUE 或 FALSE(不区分大小写)
$x=true;
$y=false;
var_dump($x);
var_dump($y);
- Array(数组)
- 数组可以在一个变量中存储多个值。
$cars=array("Volvo","BMW","Toyota");
var_dump($cars);
- Object(对象)
- 对象数据类型也可以用于存储数据。
- 在 PHP 中,对象必须声明。
- 首先,你必须使用class关键字声明类对象。类是可以包含属性和方法的结构。
- 然后我们在类中定义数据类型,然后在实例化的类中使用数据类型:
echo "<======对象======>".'<br>';
class Car
{
var $color;
function __construct($color="green") {
$this->color = $color;
}
function what_color() {
return $this->color;
}
}
- NULL(空值)
6 类型转换
6.1 隐式类型转换
$str1='1';
$str2='ab';
$num1=$str1+$str2;
$num2 = $str1+5;
$num3 = $str1+3.14;
echo "num1=$num1<br>num2=$num2<br>num3=$num3<br>";
6.2 显示类型转换 (要转换的数据类型)变量或值
echo"显示类型转换<br>";
$str3='1';
$str4='';
var_dump((bool)$str3);
echo "<br>";
var_dump((bool)$str4);
7 流程控制
- if 语句 - 在条件成立时执行代码
- if…else 语句 - 在条件成立时执行一块代码,条件不成立时执行另一块代码
- if…elseif…else 语句 - 在若干条件之一成立时执行一个代码块
$score=70;//分数定义
if($score>=90&&$score<=100){
echo "优秀";
}else if($score>=80&&$score<90){
echo "良好";
}
else if($score>=70&&$score<80){
echo "中等";
}else if($score>=60&&$score<70){
echo "及格";
}else if($score>=0&&$score<60){
echo "不及格";
}else {
echo '分数异常';
}
- switch 语句 - 在若干条件之一成立时执行一个代码块
$favcolor="red";
switch ($favcolor)
{
case "red":
echo "你喜欢的颜色是红色!";
break;
case "blue":
echo "你喜欢的颜色是蓝色!";
break;
case "green":
echo "你喜欢的颜色是绿色!";
break;
default:
echo "你喜欢的颜色不是 红, 蓝, 或绿色!";
}
- while - 只要指定的条件成立,则循环执行代码块
$i=1;
while($i<=5)
{
echo "The number is " . $i . "<br>";
$i++;
}
- do…while - 首先执行一次代码块,然后在指定的条件成立时重复这个循环
$i=1;
do
{
$i++;
echo "The number is " . $i . "<br>";
}
while ($i<=5);
- for - 循环执行代码块指定的次数
for ($i=1; $i<=5; $i++)
{
echo "数字为 " . $i . PHP_EOL;
}
- foreach - 根据数组中每个元素来循环代码块
$x=array("Google","Runoob","Taobao");
foreach ($x as $value)
{
echo $value . PHP_EOL;
}
- break语句用在循环体或switch当中,意思是跳出当前循环。如果break出现在switch中是跳出switch当前switch语句体。在for循环中是跳出本层循环。
//当循环到j=3的时候,会跳出本层循环,i*3和这一列以后的都不会执行,所以结果只会出现i*1和i*2这两列
for($i=1;$i<10;$i++){
for($j=1;$j<=$i;$j++){
if($j==3)
break;
echo $i.'x'.$j.'='.$i*$j.' ';
}
echo "<br/>";
}
- continue是本次循环,跳过本次循环后面的语句,继续下一次循环。
//当j=3的时候,会结束本次循环,继续下次循环,不会出现i*3这一列
for($i=1;$i<10;$i++){
for($j=1;$j<=$i;$j++){
if($j==3)
//会跳过j=3的算式
continue;
echo $i.'x'.$j.'='.$i*$j.' ';
}
echo "<br/>";
}
8 文件引入
- include
- 一般放在程序的流程控制中,当程序执行时碰到才会引用,简化程序的执行流程。
- 引入文件的时候,如果碰到错误,会给出提示,并继续运行下边的代码。
vars.php//文件名
<?php
$color = 'green';
$fruit = 'apple';
?>
test.php//文件名
<?php
echo "A $color $fruit"; // A
include 'vars.php';//引用文件
echo "A $color $fruit"; // A green apple
- require
- 一般放在 PHP 文件的最前面,程序在执行前就会先导入要引用的文件;
- 引入文件的时候,如果碰到错误,会给出提示,并停止运行下边的代码。
- 为防止路径错误导致程序错误,建议使用dirname(__FILE__)获取文件当前路径,即
-
require(dirname(\_\_FILE\_\_).'文件名.php');
cl.php//文件名
<?php
function show(){
echo "cl.php文件中的show方法被调用了!";
}
?>
ts.php//文件名
<?php
require 'cl.php';
show();//cl.php文件中的show方法被调用了!
?>
- include_once
- include_once 语句在脚本执行期间包含并运行指定文件。此行为和 include 语句类似,唯一区别是如果该文件中已经被包含过,则不会再次包含。如同此语句名字暗示的那样,只会包含一次
<?php
include_once("a.php");
?>
- require_once
- require_once 语句和 require 语句完全相同,唯一区别是 PHP 会检查该文件是否已经被包含过,如果是则不会再次包含。
<?php
define('__ROOT__', dirname(dirname(__FILE__)));
require_once(__ROOT__.'/config.php');
?>