1.php
php是什么?
它是一门后端语言,而后端语言是运行在服务器上的语言。
例如:www.baidu.com------>百度的服务器(电脑)---->浏览器运行的电脑被被称为客户端
php环境:
需要安装php的环境---->创建一个服务器运行php---->集成服务器创建工具phpstudy
阿帕奇启动了,那么就可以通过服务器运行php文件:
1.创建一个php文件,php文件是.php后缀的文件
2.所有的php代码都在<?php ?> 包裹起来的
如何运行php:
把php文件放在阿帕奇安装目录底下的www目录里(一定要放在www目录里)
通过浏览器打开php文件:
1.127.0.0.1(www目录)/路径/php文件
2.localhost/路径/php文件
3.本地ip地址/路径/php文件 (查看本地ip地址 ----> 打开终端 ----> ipconfig查看ip地址)
在局域网内可以互相访问
2.有关php的基本语法等相关内容
<?php
// 打印出hello world
echo "hello world";
?>
<?php ?>这块的代码就是php代码
1.打印: echo : 命令式 echo “字符串”; echo(“字符串”);
echo("hello");
echo "world";
2.注释:
// 单行注释
// 多行注释
/*
第一行注释
第二行注释
*/
3.查看php环境信息
echo phpinfo();
4.注意:如果php是多行代码 ,那么 每一行都需要加上 分号“;”
echo "hello";
echo "world";
5.调试代码 die函数
echo "1111";
echo "2222";
// die; //die后面的代码不执行了;
// die("最后打印");
// exit; //后面代码不执行;
echo "3333";
6.php 的代码只会在服务端执行;所有的php代码在客户端是看不到的;因为php是运行在服务端;
echo "123";
echo "345";
7.php可以运行php代码也可以执行 html、css、js代码;
// 执行html、css、和js 1.输出再执行; 2.把html、css、js不写在 <?php ?> 里面;
echo "<h1>hello</h1>";
echo "<script>console.log(123);</script>";
echo "1111";
8.php定义变量
$a = 10;
echo $a;
9 、定义常量
const PI =3.14;
echo PI;
3.php中字符串
php 文件及路径里不要有中文,会导致php的文件操作失效;
1.字符串:1.双引号 定义字符串 2.单引号定义 3.定界符定义字符串;
$str = "我是字符串";
$str = '我是字符串';
echo $str;
//字符串解析变量
$name = "张三";
// 解析变量是 通过 {变量}; ${变量};
// 双引号可以解析变量;
// $str = "我的名字是:{$name}我的年龄是23";
// 单引号里面就不能解析变量;
$str = '我的名字是:{$name}我的年龄是23';
echo $str;
定界符定义字符串 ;可以支持换行;
$str = <<<AAA
fdafdafsdaf{$name}dsafdas
fdasfdasf
fdsafdas
AAA;
echo $str;
// 双引号
$str2 = "fdafdasfdasfdsafdsafd";
echo $str2;
字符串的拼接 通过 . 来进行字符串拼接
var str1 = "hello";
var str2 = "world";
console.log(str1+str2);
$str1 = "hello";
$str2 = "world";
echo $str1." ".$str2;
2.查看数据类型: gettype();
// php里所有预定义的都是函数;
$str = "hello";
echo gettype($str);
4.php中的其它类型
php里的其它类型:
1.数字 : int/integer :整型 ; flaot/double:浮点
$num = 10 ;
echo gettype($num)."<br>"; //integer
$num = 3.14 ;
echo gettype($num) ; //double
2.布尔 echo 只能echo 字符串和数字;布尔值 true会转1 false 会不显示;
var_dump(); //可以打印任意类型,且显示详细信息;
$b = true;
$c = false;
// echo $c;
// var_dump($c);
$str = "fdafdsa";
var_dump($str);
3.数组 :1.索引数组 :下标是数字索引的数组 2.关联数组 : 下标是自定义的数组;
//1.索引数组
$arr = ["张三","李四","王五"];
$arr2 = array("张三","李四","王五");
print_r($arr2);
echo $arr;
var_dump($arr);
print_r($arr);
print_r($arr[1]);
//2.关联数组 :下标可以自定义 ;
$arr = array("name1"=>"张三","name2"=>"李四","name3"=>"王五");
// print_r($arr);
print_r($arr['name2']);
数组的循环
//索引数组的循环
$arr = ["张三","李四","王五"];
for($i=0;$i<count($arr);$i++){
echo $arr[$i];
}
// 关联数组的循环
$arr = array("name1"=>"张三","name2"=>"李四","name3"=>"王五");
foreach($arr as $k=>$v){
echo $k." --- ".$v."<br>";
}
5.php的混编
php的混编 :把php和html、css、js混在一起写;
<?php
$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>";
在<?php ?>的外部:
<ul>
<?php
foreach($arr as $k=>$v){ ?>
<li>手机名称是 <?php echo $v['goodsName']; ?> 手机的价格是 <?php echo $v['goodsPrice'];?> </li>
<?php }; ?>
</ul>
6.传参 get参数
1.如何传递get参数:在地址?后面的参数 search参数
2.如何接收get参数;
http默认端口号是 80 https 默认端口号是 443;
协议: 域名:端口/地址?name=zhangsan&age=20&height=178cm
协议: 域名:端口/地址#id 哈希参数// http://localhost:80/2114/index.php?name=zhangsan&age=20&height=178cm ; querystring :请求参 get参数
php里如何接收get参数 ;全局变量 $_GET 是一个数组,用来接收get参数
print_r($_GET);
用处: 跨页面传参