搭建网站前学习php的知识
php文件是.php结尾
php的创建/声明变量
<?php //php文件开头格式
$x=10; //php文件的类型定义,不需要我们定义,他会自己识别是什么类型
$y="hello world" //php字符串记得要双引号表示
echo "$x,$y" //php的输出语句 还有print可以使用
?>
php也有函数的声明 定义 使用function来定义
<?php
funcation mytest() //定义名为mytest的函数
{
$x = 100;
echo"$x";
}
mytest(); //函数的执行
?>
php中的全局变量和局部变量的关系
php中全局变量除了函数定义中的不会收到影响,其他的都会受到影响
<?
$x=100; //定义全局变量
function mytest(){
$y=100000;
echo"x在局部变量是 $x";
echo"<br>"; //php中<br>为换行
echo"y在局部变量是 $y";
}
mytest(); //执行定义的函数
echo"<br>";
echo"x在全局变量中是 $x";
echo"<br>";
echo"y在全局变量中是 $y";
?>
我们可以发现全局变量无法影响自己定义的函数中的变量
但是如果我们需要让在自己定义的函数中引用全局变量
global 关键字
global关键字可以让我们引用全局变量
<?
$x=100; //定义全局变量
function mytest(){
$y=100000;
global $x;
echo"x在局部变量中引用全部变量的x 是 $x";
echo"<br>"; //php中<br>为换行
echo"y在局部变量是 $y";
}
mytest(); //执行定义的函数
echo"<br>";
echo"x在全局变量中是 $x";
echo"<br>";
echo"y在全局变量中是 $y";
?>
执行后函数里面的x也变为全局变量中的x了
PHP 将所有全局变量存储在一个名为 $GLOBALS[index] 的数组中。 index 保存变量的名称。这个数组可以在函数内部访问,也可以直接用来更新全局变量。
当我们不想要局部变量删除时
<?php
function myTest()
{
static $x=0;
echo $x;
$x++;
echo PHP_EOL; // 换行符
}
myTest();
myTest();
myTest();
?>
在 x++ 时引用的还是x=0 所以x=0不会被删除 可以实现x++
使用echo
<?php
$txt1="学习 PHP";
$txt2="RUNOOB.COM";
$cars=array("Volvo","BMW","Toyota");
echo $txt1;
echo "<br>";
echo "在 $txt2 学习 PHP ";
echo "<br>";
echo "我车的品牌是 {$cars[0]}";
?>
//其中array为数组 所以使用的方式是$cars[x] x为012
当我们想看是变量是什么类型 就使用var_dump来查看即可
在php中 ==与===不一样
== 只比较数值大小 不比较类型
=== 比较大小和变量类型 类型一直才可以
常量的定义
bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )
该函数有三个参数:
- name:必选参数,常量名称,即标志符。
- value:必选参数,常量的值。
- case_insensitive :可选参数,如果设置为 TRUE,该常量则大小写不敏感。默认是大小写敏感的。
<?php
define("GT","welcom",true); //define($name,$value,$true) 其中ture默认是false就是对大小写敏不敏感
echo GT; //当GT为大写的时候可以执行
echo gt; //当gt为小写的时候也能执行
?>
常量在定义后,默认是全局变量,可以在整个运行的脚本的任何地方使用。
在自己定义的函数内也可以使用 和全局变量不一样
strlen() 函数
有时知道字符串值的长度是很有用的。
strlen() 函数返回字符串的长度(字节数)。
<?php
echo serlen("hello world");
?>
三元运算符
另一个条件运算符是"?:"(或三元)运算符 。
语法格式
(expr1) ? (expr2) : (expr3)
这是在get请求中判断有没有user的值 如果没有返回nobody 有就返回 $_GET['user']
<?php
$username = isset($_GET['user']) ? $_GET['user'] : 'nobody';
//insset()是用来判断$_GET['user']是否为空 如果为空返回false
echo $username, PHP_EOL;
?>
组合比较符(PHP7+)
PHP7+ 支持组合比较符(combined comparison operator)也称之为太空船操作符,符号为 <=>。组合比较运算符可以轻松实现两个变量的比较,当然不仅限于数值类数据的比较。
语法格式如下:
$c = $a <=> $b;
解析如下:
- 如果 $a > $b, 则 $c 的值为 1。
- 如果 $a == $b, 则 $c 的值为 0。
- 如果 $a < $b, 则 $c 的值为 -1。
这样我们就可以轻松的运用c得到我们要的大小
PHP - if 语句
if 语句用于仅当指定条件成立时执行代码。
语法
if (条件) { 条件成立时要执行的代码; }
<?php
$t=date("H"); //该代码是php中用来获取时间的 并且是12小时制的
if ($t<"20") // 时间<20
{
echo "Have a good day!";
}
else
{
echo "Have a good night!";
}
?>
PHP Switch 语句
如果您希望有选择地执行若干代码块之一,请使用 switch 语句。
<?php
switch (n)
{
case label1:
如果 n=label1,此处代码将执行;
break;
case label2:
如果 n=label2,此处代码将执行;
break;
default:
如果 n 既不等于 label1 也不等于 label2,此处代码将执行;
}
?>
使用 break 来阻止代码跳入下一个 case 中继续执行。
php数组
<?php
$color=array("red","green","pink");
echo"我喜欢的颜色$color[0]不喜欢$color[1],但是最爱$color[2]";
?>
我们想知道数组的长度时
<?php
$color=array("red","green","pink");
echo count($color);
?>
得到3
当我们想遍历数组时
<?php
$color=array("red","green","pink");
$arrlength = count($color); //取数组长度
for($x=0;$x<$arrlength;$x++) //遍历条件
{
echo $color[$x];
echo "<br>";
}
?>
PHP 关联数组
关联数组是使用您分配给数组的指定的键的数组。
这里有两种创建关联数组的方法:
<?php
$age = array("LI"=>"35","FU"=>"23","HAN"=>"31","GAO"=>"21"); //在定义数组就赋值
echo "LI的年龄是$age[LI]"
?>
PHP关联数组的遍历
<?php
$age = array("LI"=>"35","FU"=>"23","HAN"=>"31","GAO"=>"21"); //在定义数组就赋值
foreach($age as $x=>$x_value){
echo $x."的年龄是".$x_value; // . 作为串接 就是变量串接在其中
echo"<br>";
}
?>
PHP 超级全局变量
PHP中预定义了几个超级全局变量(superglobals) ,这意味着它们在一个脚本的全部作用域中都可用。 你不需要特别说明,就可以在函数及类中使用。
PHP 超级全局变量列表:
- $GLOBALS
- $_SERVER
- $_REQUEST
- $_POST
- $_GET
- $_FILES
- $_ENV
- $_COOKIE
- $_SESSION
就是关键字
$_REQUEST
PHP $_REQUEST 用于收集HTML表单提交的数据。
<html>
<body>
<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
NAME:<input type="text" name="frame">
<input type="submit">
</form>
<?php
$name = $_REQUEST['frame'];
echo $name;
?>
</body>
</html>
$_POST
PHP $_POST 被广泛应用于收集表单数据,在HTML form标签的指定该属性:"method="post"。
<html>
<body>
<form method="post" action="<?php echo $_SERVE['PHP_SELF'];?>">
//$_SERVER['PHP_SELF'] 表示当前 php 文件相对于网站根目录的位置地址
// 表单form 方法是post 然后我们执行输出php文件
NAME:<input type ="text" name ="frame">
//这是显示一个名为NAME的输入框 类型为text 名字叫做frame
<input type="Submit">
</form>
//前面是html代码 是用来显示一个登入界面 并且 访问一个文件
// 当用户通过点击 "Submit" 按钮提交表单数据时, 表单数据将发送至<form>标签中 action 属性中指定的脚本文件。
<?php
$name = $_POST['frame'];
echo $name;
?>
//将用post方式传递的名为frame的文件赋值给name 并且输出name
</body>
</html>
foreach 循环
foreach 循环用于遍历数组。
语法
foreach ($array as $value) { 要执行代码; }
每进行一次循环,当前数组元素的值就会被赋值给 $value 变量(数组指针会逐一地移动),在进行下一次循环时,您将看到数组中的下一个值。
foreach ($array as $key => $value) { 要执行代码; }
每一次循环,当前数组元素的键与值就都会被赋值给 $key 和 $value 变量(数字指针会逐一地移动),在进行下一次循环时,你将看到数组中的下一个键与值。