PHP基本语法
PHP基本语法
基础
<?php ?>
为php区域
语句要用;结尾
输出语句:
<?
//输出语句
echo "hello ","world "; //可输出多个字符串,逗号隔开
print "world "; //输出单个字符串
var_dump("hello");//打印数据类型和值
?>
输出hello world world string(5) "hello"
换行:
<?php
//换行
echo "hello\n";
echo "world<br/>";
echo "ccy<hr/>";
echo "xhz";
?>
\n在网页源码中换行,在网页显示中打出个空格(maybe),不换行
<br/>在网页源码中显示本身,不换行,在网页显示中换行。
<hr/>则是在网页显示中加一条分割线
网页:
网页源码:
变量,引号:
命名规则与c一样。
不必向 PHP 声明该变量的数据类型,因此一定要赋初值,让PHP 根据变量的值,自动把变量转换为正确的数据类型。
<?php
$ccy = "www";//
echo '$ccy';//单引号会输出原字符串
echo "$ccy";//双引号会解析变量并输出
?>
输出:
数据类型:(base)
<?php
$a = 1;
$b = 2.2;
$c = "hello";
$d = true;
var_dump($a);echo '<br/>';
var_dump($b);echo '<br/>';
var_dump($c);echo '<br/>';
var_dump($d);echo '<br/>';
?>
数组:
<?php
//两种声明方式,如果括号不输入值则为空数组
$a = array(1,2,3);
$b = ["hh"=>'a','b',3=>'c',"d"];//3写成‘3’或"3"一样结果
var_dump($a);echo '<hr/>';
var_dump($b);echo '<hr/>';
?>
1、索引可以自己命名
2、索引从0开始,自己命名后会改变顺序
循环:
for和while与c99版本类似(maybe一样)
<?php
for($i=0;$i<10;$i++){//输出0123456789
echo $i;
}
$i=0;
while($i<5){//输出01234
echo $i++;
}
$i=0;
do{//输出01234
echo $i++;
}while($i<5)
?>
foreach:foreach只能用在数组中
<?php
$arr = [1,2,3,4];
$str = ["a"=>'aa',"b"=>'bb',"c"=>'cc'];
foreach ($arr as $value){//as 后面自己取的名字
echo $value;
}
echo "<br/>";
foreach ($str as $value){//缺少下标对应时,as 后面的是值,而不是下标
echo "$value";
}
echo "<br/>";
foreach ($str as $index=>$value){
echo "$index=>$value<br/>";
}
?>
条件语句:
if,else if,else;switch,case 与c类似(maybe一样)
php8新特性:match,与c中switch类似(这回是真的只是类似)
1、match有返回值
2、match每个分支只有一条语句
3、match是精确比较,switch是模糊比较(解释在运算符中)
<?php
$i = 1;
$result = match($i){
0 => "yes",//用,隔开
1,2 => "no",//多个条件匹配
default=>"null",
};//末尾加分号
echo $result;//输出no
?>
运算符:(区别于c)
符号(-)(.)
(-)放在数字前是给数字加个负号。
<?php
$x = 2;
echo -$x;//输出-2
?>
(.)拼接两个值,拼接成字符串
<?php
$x = 2;
$y = 3;
$z = $x.$y;
$a = "hh";
$b = "hhh";
$c = $a.$b;
//省略了换行
echo $z;
var_dump($z);
echo $c;
var_dump($c);
?>
符号(xor)
(xor)(异或符)
条件中两个都为真或都为假返回false;
条件中一真一假返回true;
<?php
$arr1 = 2;
$arr2 = 0;
var_dump($arr2 xor $arr1);//输出bool(true)
var_dump($arr2+1 xor $arr1);//输出bool(false)
?>
下面这些等于号放在一行会变黄,不知道为什么
符号(==)
(===)
(!==)(<>)
还记得在match中讲的精确和模糊比较吗?
这里的(==)(等于号)在比较两个值时,会先进行类型转换成同一个类型,然后再进行比较。类似模糊比较。
而(===)(全等号)在会比较两个值的类型和值。类似精确比较。
<?php
var_dump("1"==1);//输出bool(true)
var_dump("1"===1);//输出bool(false)
?>
输出补充:如果输出true,网页会打印1,输出false,网页不会打印东西。
(!==)(不全等)号与全等号刚好相反。
(<>)这个其实是不等号的另一种写法。
数组运算符:
符号(+)
(+)是合并两个数组。
<?php
$arr1 = ["a"=>1,"b"=>2,"d"=>3];
$arr2 = ["a"=>1,"c"=>2,"e"=>3];//一样的部分不会重复
$z = $arr1+$arr2;
var_dump($z);
?>
<?php
$arr1 = ["a"=>1,"b"=>2,"d"=>3];
$arr2 = ["c"=>1,"a"=>2,"e"=>3];//键相同值不同不会覆盖第一个数组
$z = $arr1+$arr2;
var_dump($z);
?>
如果想用第二个数组的值覆盖第一个数组,可用函数array_merge()。
符号(==)
(===)
(==)两个数组键值对相等为真。
(===)两个数组键值对相等,相对位置相同,类型相同,为真。
<?php
$arr1 = ["h"=>1,"hh"=>2,"hhh"=>3];
$arr2 = ["hh"=>2,"h"=>1,"hhh"=>3];//相对位置不同时,==亦为真
var_dump($arr1==$arr2);//输出bool(true)
var_dump($arr1===$arr2);//输出bool(false)
?>
(!=)(!==)(<>)懂的都懂!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理