PHP入门
echo是php的输出语句 类似于console
可以做计算
<?php echo 1 + 2;?> 输出3
做字符串拼接
<?php echo "hello"."friends" ?>
变量
<?php
// 定义变量
echo $var = 'hello google' ?>
获取内存消耗 echo $m1 = memory_get_usage();
判断并且输出数据类型
<?php
$string = '就是就是';
var_dump($string); // 输出结果 string(12) "就是就是" 每个字占三字节 四个字12字节
echo "<br />";
$string = 9494;
var_dump($string); // 输出结果 int(9494)
echo $string = true; // 输出1!!! 注意是1
var_dump($string); // 输出 bool(true)
// 浮点型
$float = 1.23456;
var_dump($float); // float(1.23456)
整型
以下皆为零不是欧
八进制 0123 十六进制0x
字符串里的 单双引号需要转义
<?php
$string = "我说:\"衬衫的价格是多少?\""
?>
类似于模板字符串
<?php
$love = "i love basketball!";
$string = "guys, $love";
echo $string; // guys, i love basketball!
?>
字符串长度过长或者需要多次换行 使用 定界符
<?php
$string1 = <<<GOD
我有一只小毛驴,我从来也不骑。
有一天我心血来潮,骑着去赶集。
我手里拿着小皮鞭,我心里正得意。
不知怎么哗啦啦啦啦,我摔了一身泥.
GOD;
echo $string1;
?>
php特殊类型 — 资源
<?php
// 打开文件
var file_handle = fopen("/data/test.txt", "r")
?>
第二个特殊类型 null
定义一个常量
<?php
$p = "PI"; // 这是将常量PI赋值给了一个变量$p
define("PI",3.14); // 定义了一个常量PI 值为3.14
?>
使用常量
<?php
define("PI",3.14); // 类似于 const PI = 3.14;
$r = 1; // 类似 let r = 1;
// 直接用常量名字调用
echo "圆的面积是:"."PI*$r*$r";
// 使用constant调用
echo "圆的面积是:"."constant("PI")*$r*$r";
?>
如果常量被重复定义以后,PHP解析器会发出“Constant XXX already defined”的警告.
<?php
// 判断常量是否已经被定义 使用defined 不是define
define('a',1);
$is = defined('a');
echo $is; // 1
var_dump($is); // bool(true)
?>
赋值运算符
分别为 = 和 &
&”:引用赋值,意味着两个变量都指向同一个数据。它将使两个变量共享一块内存,如果这个内存存储的数据变了,那么两个变量的值都会发生变化。
<?php
$a = 1024;
$b = $a;
$c = &$a;
echo "b的值为:".$b."<br />"."c的值为:".$c; // 输出 b的值为1024 c的值为 1024
$a = 666;
echo "b的值为:".$b."<br />"."c的值为:".$c; // 输出 b的值为1024 c的值为 666
?>
比较运算符值得注意的是 a < > a<> a<>b 代表不等于
逻辑运算符
逻辑与 两个都为true 返回true 两种写法
$a and $b
$a && $b
逻辑或 两个中任意一个为true 返回true 同样两种写法
$a or $b
$a || $b
逻辑非
!$a
逻辑异或 两个中 有且仅有 一个为true 返回true
$a xor $b;
连接运算符
<?php $a = '你好啊!'; $b = ',朋友'; echo $a.$b; // 你好啊!朋友 // .= 连接并赋值! 类似于 += $b .= '你不好啊’; echo $b; // ,朋友,你不好啊 ?>错误控制符
在报错的表达式前面添加一个 @ 可以不显示报错
取模运算符 其实就是向上取整
<?php
$maxLine = 4; //每排人数
$no = 17;//学生编号
$line = ceil($no/$maxLine);
echo $line;
// 5
echo "<br/>";
$a = $no/$maxLine;
echo $a;
// 4.25
echo "<br/>";
$b = $no%$maxLine;
echo $b; // 1
?>
结构
顺序结构
条件结构
if else
<?php
if(条件){
//分配服务器干的任务A
}else{
//分配服务器干的任务B
}
?>
switch case
<?php
$num = rand(1,4); // 获取1-4的随机数
$info = '';
switch ($num)
{
case 1:
$info = "恭喜你,是1耶";
break;
case 2:
$info = "恭喜你,是2耶";
break;
default:
$info = "什么也不是";
}
echo $info;
?>
break的作用是阻止代码进入下一个case 中继续执行。
循环结构
<?php
while(条件){
//执行任务
}
?>
<?php
do{
//执行任务
}while(条件)
?>
<?php
for(初始化;循环条件;递增项){
//执行任务
}
?>
foreach遍历数组
第一种情况
<?php
$students = array(
'1'=>'啊',
'2'=>'哦',
'3'=>'呃'
);
foreach($student as $v) {
echo $v;
echo '<br />';
?>
打印结果 只有value 啊 哦 呃
第二种情况 带key
<?php
$students = array(
'1'=>'啊',
'2'=>'哦',
'3'=>'呃'
);
foreach($student as $key => $v) {
echo $k.":".$v;
echo '<br />';
?>
打印结果 1:啊 2:哦 3:呃