- 作者:霏梦
PHP程序由哪几部分组成
- 注释
- 代码
- 执行,将结果输出
- 语句分隔符、开始和结束标签
- 代码块:
<?php
//php程序由哪几部分组成
//代码
function sum(int $a,int $b){
//返回结果给调用者
return "{$a} + {$b} =".($a + $b);
}
//执行,将执行结果打印输出
echo sum(20,30);
?>
php 打印
- 主要有:echo、print、print_r、var_dump、var_export
- 汇总图:
- 代码演示
<?php
//php打印输出
$name='feimeng';
//echo 回显,效率最高,能打印多个变量,没有返回值
// echo可以输出多个值,多个值之间用逗号分隔,没有返回值;
// echo 能打印整型和字符串,无法打印布尔型
echo $name, $name;
echo $name,'<br>';
// print只能输出一个值,有返回值(1或0)
print $name;
echo "<hr>";
// print $name.100;
echo print $name;
echo '<br>';
echo gettype($name);
echo '<br>';
// var_dump()判断变量的类型与长度,并输出变量的数值。
// 打印整型、字符串外,还能打印数组、对象,以键值对形式打印数组、对象。
// 能够打印布尔型和NULL
var_dump($name);
echo "<br>";
var_dump(12345);
echo '<br>';
// 其返回合法的php原代码,其返回值可以赋值给php变量,
var_export($name);
echo '<br>';
$name2 = var_export(11,TRUE);
echo "<br>我是多少:".$name2;
?>
变量的命名
<?php
// 变量的命名
// 变量是临时存储数据的容器
// 变量是实现数据复用的手段
$username='admin';
$userName='Admin';
// 变量是区分大小写的
echo $username.'<br>';
echo $userName.'<br>';
//函数是不区分大小写
echo strtoupper($username).'<br>';
echo STRTUOPPER($userName).'<br>';
// 变量名必须以"$"开始,不允许以数字开头,可以用下划线,不允许用特殊字符
// hi ='php';
//$123name='myphp';
$_myname='myphp';
// $name@id='myname';
// 变量名有意义
$aaaa='php.cn';
$name= 'php.cn';
变量的动态特征
变量是随值而变化
$name='100';
var_dump($name);
$name='php.cn;
var_dump($name);
变量的值传递
- 1和2的区别:1保存的值和2是保存的地址
- 代码区
// 1.默认传递
$price1=100;
$price2 = $price1;
// 再次给值
$price2 =200;
// 查看price1的值
echo 'prine1:'.$price1.'<br>';
// 2.引用传递
$price1=100;
$price2 = &$price1;
// 再次给值
$price2 =200;
// 查看price1的值,print1和print2都变了
echo 'prine1:'.$price1.'<br>';
可变变量
- 其原理是变量的名称由另外一个变量的值来确定,即一个可变变量获取了一个普通变量的值作为这个可变变量的变量名,实现过程是在变量前面多加美元符号 “$”
- 代码演示
$var='name';
$$var='我是php.cn';
echo $name;
变量检测与删除
- 代码区
<?php
// echo $username;
// 变量检测
// isset:存在值且不为NULL,才是TRUE
if(isset($username)){
echo $username.'<br>';
}else{
echo '没有定义变量';
}
// unset删除变量,没有返回值
unset($username);
echo $username;
- 结果区
数据类型及转换
- 代码区
<?php
// 数据类型
// 字符串
$name='wangfeimeng';
//数值
$num=2000;
//bool
$is6g=false;
// 复合类型:对象,数组
$object= new stdClass;
// 对象是属性和方法的无序集合
$object->name='wangqqqq';
echo $object->name,'<br>';
// 数组
$arr=['手表',1000,'浪琴'];
// print_r带true,不打印,只返回
print_r($arr,true);
echo print_r($arr,true);
echo '<pre>'.print_r($arr,true).'</pre>';
// 特殊类型:null
$num=null;
var_dump($num);
echo '<br>';
// 文件类型
$file=fopen('demo8.php','r');
var_dump($file);
echo gettype($file),"<br>";
// 变量类型转换
$a=null;
$b=true;
$c=false;
$d='5g';
$e='php';
$f=15;
// null=0
echo $a+10,'<br>';
// true=1
echo $b+10,'<br>';
// 强制转换
echo (int)$e+$f;
echo '<br>';
echo intval($e)+$f;
echo '<br>';
echo gettype($f);
echo '<br>';
echo strval($f).$e;
echo '<br>';
// 永久转换
settype($f,'string');
echo gettype($f);
- 效果区