php 是什么?
是一门后端语言,后端语言是运行在服务器上的语言。(php /java /nodejs ....);
www.baidu.com--->百度的服务器(电脑)---》浏览器运行的电脑被称为客户端;
php环境?
需要安装php的环境--》创建一个服务器 运行php---》集成服务器创建工具 phpstudy;
mysql会出现端口号占用情况 :win+r----》cmd----》netstat -ano 查看系统所有的端口运行情况;
ip:端口号 mysql默认端口是 3306 通过端口查看pid ----》通过pid查找进程 ---》把之前mysql卸载掉(卸载干净)
阿帕奇启动了 那么就可以通过服务器运行php文件;----1.创建一个php文件,php文件是.php后缀的文件
所有的php代码都在 <?php ?>包裹起来的
如何运行php ??
把php文件放在 阿帕奇安装目录底下的www目录里;一定要放在www目录里;
通过浏览器 打开php文件 :127.0.0.1(www目录)/路径/php文件
localhost/路径/php文件(以上2种只能自己访问自己的服务器)
本地ip地址/路径/php文件 --》查看本地ip地址 --》打开终端-- >ipconfig查看ip地址(在局域网内可以互相访问)
简单了解php语法:
打印: echo : 命令式 echo “字符串”; echo(“字符串”);
注释: 1. // 单行注释
2./*
第一行注释
第二行注释
*/
多行注释
查看php环境信息:echo phpinfo();
查看数据类型:gettype();
注意:如果php是多行代码 ,那么 每一行都需要加上 分号;
调试代码: die函数;//die后面的代码不执行了
php 的代码只会在服务端执行;所有的php代码在客户端是看不到的;因为php是运行在服务端;
php可以运行php代码也可以执行 html、css、js代码;
php 文件及路径里不要有中文,会导致php的文件操作失效;
字符串的拼接 通过 . 来进行字符串拼接;
php定义变量
$a = 10;
echo $a;
php定义常量
const PI =3.14;
echo PI;
双引号可以解析变量,单引号不能解析变量;
定界符定义字符串 ;可以支持换行;
$str = <<<AAA
fdafdafsdaf{$name}dsafdas
fdasfdasf
fdsafdas
AAA;
echo $str;
php里的其他类型
1.数字:int :整型 float :浮点
2.布尔 echo 只能echo 字符串和数字;布尔值 true会转1 false 会不显示;
3.数组 :1.索引数组 :下标是数字索引的数组 2.关联数组 : 下标是自定义的数组;
var_dump(); //可以打印任意类型,且显示详细信息;
php的混编
<?php
// php的混编 :把php和html、css、js混在一起写;
$arr = array(
array(
"goodsId"=>"A001",
"goodsName"=>"Redmi K30",
"goodsMsg"=>"120Hz流速屏,全速热爱",
"goodsImg"=>"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/2c16238f786e4f93bdb175d7bf21aa47.jpg?thumb=1&w=250&h=250&f=webp&q=90",
"goodsPrice"=>1559,
"buyNum"=>1
),
array(
"goodsId"=>"A002",
"goodsName"=>"Redmi K30",
"goodsMsg"=>"120Hz流速屏,全速热爱",
"goodsImg"=>"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/2c16238f786e4f93bdb175d7bf21aa47.jpg?thumb=1&w=250&h=250&f=webp&q=90",
"goodsPrice"=>1559,
"buyNum"=>1
),
array(
"goodsId"=>"A003",
"goodsName"=>"Redmi K30",
"goodsMsg"=>"120Hz流速屏,全速热爱",
"goodsImg"=>"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/2c16238f786e4f93bdb175d7bf21aa47.jpg?thumb=1&w=250&h=250&f=webp&q=90",
"goodsPrice"=>1559,
"buyNum"=>1
),
array(
"goodsId"=>"A004",
"goodsName"=>"Redmi K30",
"goodsMsg"=>"120Hz流速屏,全速热爱",
"goodsImg"=>"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/2c16238f786e4f93bdb175d7bf21aa47.jpg?thumb=1&w=250&h=250&f=webp&q=90",
"goodsPrice"=>1559,
"buyNum"=>1
),
array(
"goodsId"=>"A005",
"goodsName"=>"Redmi K30",
"goodsMsg"=>"120Hz流速屏,全速热爱",
"goodsImg"=>"https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/2c16238f786e4f93bdb175d7bf21aa47.jpg?thumb=1&w=250&h=250&f=webp&q=90",
"goodsPrice"=>1559,
"buyNum"=>1
),
);
// 二维数组的循环
// foreach($arr as $k=>$v){
// // print_r($v);
// // echo "<br>";
// // foreach($v as $kk=>$vv){
// // echo $vv."<br>";
// // }
// echo $v['goodsName']."<br>";
// }
// 1.修改数组
// $arr = array("name1"=>"张三","name2"=>"李四","name3"=>"王五");
// // $arr['name2'] = "李小四";
// // print_r($arr);
// // php 里所有的数据类型 ,默认前提下没有引用问题
// foreach($arr as $k=>$v){
// if($k=="name2"){
// // $v = "李小四";
// // $arr[$k] == $v
// $arr[$k] = "李小四";
// }
// }
// print_r($arr);
// 2.格式化数组 ;
// echo "<pre>";
// print_r($arr);
// echo "</pre>";
// 3.混编 ;
// echo "<ul>";
// foreach($arr as $k=>$v){
// echo "<li>手机名称是{$v['goodsName']};手机价格是:{$v['goodsPrice']}</li>";
// }
// echo "</ul>";
// $arr = ["1"];
// var_dump(!empty($arr)); // 判断数组是否有内容
?>
<ul>
<?php
foreach($arr as $k=>$v){ ?>
<li>手机名称是 <a href="detail.php?id=<?php echo $v['goodsId']; ?>"><?php echo $v['goodsName']; ?></a> 手机的价格是 <?php echo $v['goodsPrice'];?> </li>
<?php }; ?>
</ul>
传参 get参数
1.如何传递get参数:在地址?后面的参数 search参数 2.如何接收get参数;
http默认端口号是 80 https 默认端口号是 443;
协议: 域名:端口/地址?name=zhangsan&age=20&height=178cm
协议: 域名:端口/地址#id 哈希参数
php里如何接收get参数 ;全局变量 $_GET 是一个数组,用来接收get参数
print_r($_GET);