Correcting teacher:Guanhui
Correction status:qualified
Teacher's comments:可以!标题可以适当的修饰一下!
<?php
function sum(int $a,int $b){
return "{$a} + {$b} =" . ($a+$b);
}
echo sum(20,30);
?>
print与echo 区别
echo 可以打印多个变量,且没有返回值,回显,效率最高,没有返回值
print 仅能打印单个变量, 返回1
var_dump()想获取到变量的完整的信息
var_export(): 返回一个变量的字符串表示(源代码)
<?php
//打印输出
$email = 'admin@php.cn';
//echo 回显
echo $email , '<br>';
echo '<span style="color:red">'. $email .'</span>';
echo '<hr>';
echo print $email;
echo '<hr>';
echo gettype($email) ,'<br>';
var_dump($email);
var_dump(123);
echo '<hr>';
var_export($email);
?>
变量是临时存储数据的容器
变量是实现数据复用的手段
变量区分大小写
变量名以$开始
变量标识符不允许数字开头
变量名中不允许特殊字符@
变量标识符$开始,只允许字母、下划线和数字,不允许数字开始
中文可以当变量名,尽量不要用
变量名不要望文生义
<?php
$username = 'admin';
$userName = 'peter';
echo $username, '<br>', $userName ,'<hr>';
echo strtoupper($userName);
echo STRTOUPPER($userName);
//hello = 'php';
//$123aaa = 'chaina';
$_email = 'adc';
//$user@id = 'asd';
$我的邮箱 = 'admin@php.cn';
echo $我的邮箱;
变量的动态特征:指变量的类型可以随值而变化
变量有值传递和引用传递两种方式赋值
值传递:默认方式,彼此之间之间没有关系,完全独立。
引用传递:在等号的右边加上取地址符&
<?php
/*$var = 100;
var_dump($var);
echo '<hr>';
$var = 'php.cn';
var_dump($var);*/
$pricel = 99;
$price2 = $pricel;
$price2 =199;
echo 'price1 ='. $pricel . '<hr>';
$pricel = 99;
$price2 = &$pricel;
$price2 = 199;
echo 'price1 = ' . $pricel .'<hr>';
变量的检测与删除:
检查变量是否定义,可以使用isset()查询
如果该变量存在且值不为null才是true
变量删除,可以使用unset()删除,无返回值
基本类型:
类型 | 说明 |
---|---|
int | 整数 |
float | 小数 |
string | 字符串 |
bool | 布尔值 |
复合类型:
对象是属性和方法的无序集合。
print—_r以人性化的方式打印变量,true表示不直接打印,而返回字符串。
类型 | 说明 |
---|---|
array | 数组 |
object | 对象 |
<?php
$obj = new stdClass;
$obj ->name ='laoshi';
echo $obj->name, '<hr>';
$arr =['电脑',5000,'联想'];
$str = print_r($arr,true);
// echo $str;
echo '<pre>'.$str.'</pre>';
特殊类型:
Null特殊类型
$f文件资源类型
$num = null;
var_dump($num);
$f =fopen('demo2.php','r');
var_dump($f);
自动转换: 是由php系统偷偷进行的,不需要用户主动参与。
null在算术运算中自动转换为0.
true在算数运算中转换为1.
$a =null;
$b =true;
$c = '6d';
$d = 'abc';
$e = '18';
echo $a + 10,'<br>';
echo $b + 10,'<br>';
echo $c + 10,'<br>';
echo $d + 10,'<br>';
echo $e + 10,'<br>';
echo $e + $d +$a,'<br>';
强制转换:
一般是在变量名前面加上数据类型,建议使用函数转换,例如intval()、strval()…..
echo '<hr>';
echo (int)$d +20,'<br>';
echo '<hr>';
echo intval($d) + 20,'<br>';
echo '<hr>';
echo strval($e).'year';
echo gettype($e);
永久转换:
settype($c,'string');
echo gettype($c);
`