PHP基础

PHP

客户端与服务端的关系

PHP简介:

PHP:原为Personal Home Page的缩写,现为PHP Hypertext Preprocessor,即超文本预处理器。

PHP脚本在服务器上执行,而结果以纯文本返回浏览器。

PHP文件能包含文本、HTML、CSS以及PHP自身代码。

PHP基本语法:

脚本以<?php开头,?>结尾。如果是纯PHP代码,最好删除PHP结尾标记?>

注释://或/* */或#

变量规则$variableName

作用域:⚪local⚪global⚪static

global关键字:用于在函数内访问全局变量

函数执行完会删除所有局部变量,static声明的局部变量可以保留(存储的值为最后一次调用的)

函数:function functionName(){}

输出方法:

  • echo:能够输出多个字符串
  • print:只能输出一个字符串,且始终返回1
  • die:输出一条消息,并退出脚本
<?php
    $txt1="Listen";
    $txt2="oneself";
    $cars=array("Volvo","BMW","SAAB");
    echo $txt1,"<br>";
    echo "Study CS by $txt2";
    echo "My car is a {$cars[0]}";
    print "<h2>PHP is fun!</h2>";
?>

赋值

  • 传值赋值:两个变量,两个地址,互不干扰
  • 引用赋值:地址相同,变量名不同,一个修改其他也会修改。
//传值赋值
$name="Tom";
$name2=$name;
$name="Sari";		//name:Sari   name2:Tom
//引用赋值
$age=19;
$age2=&$age;
$age=20;			//age:20	  age2:20

文件引用

  • include

include引用外部文件时,只有代码执行到include语句时,外部文件才会被引入并读取,当所引用的外部文件发生错误时,系统只给出一个警告,而整个php文件则继续向下执行。

  • require

require语句相当于将另一个源文件的内容完全复制到本文件中,所以一般将其放在源文件的起始位置,用于引用需要使用的公共函数文件和公共类文件等。

<?
    require "main.php";
    include("top.php");
?>

数据类型

var_dump()会返回变量数据类型和值,用于测试

  • 整型:12,0123(八进制),0x1A,0b1111

  • 浮点型:1.234,1.2e3,NAN属于float

  • 布尔型:true、false不区分大小写

字符串

php中字符串的定义类型有三种:单引号形式,双引号形式,heredoc结构形式。

双引号可以识别变量和特殊字符的转义序列,如\t,单引号统统不识别。

字符串函数:

$a="hello world";
echo strlen($a);         				//字符串长:12
echo str_word_count($a); 				//单词数:2
echo strrev($a);         				// 反转字符串,返回新串,不改变原来字符串
//strpos:在串中检索某个指定内容,找到返回index,找不到返回false
echo strpos($a,"world"); 				//6,$a中找world
echo str_replace("world", "Kitty", $a);//hello Kitty

数组

创建数组:array()或[ ]

  • 索引数组:数字索引的数字
  • 关联数组:带有键值对的数组,命名访问(key:value)
  • 多维数组:包含一个或多个数组的数组
$cars=["porsche","BMW","Volvo"];   
$age=array("Bill"=>"35","Steve"=>"37","Elon"=>"43");
foreach ($cars as $x){
    echo $x,"\t";
}
echo "<br>";
foreach($age as $x=>$x_value){
    echo $x." ".$x_value,"岁<br>";
}

获取数组长度:count($array)

添加元素array_push(array,value1,value2...);

数组排序

  • 索引数组排序:
    • sort()——升序;rsort()——降序
  • 关联数组排序:
    • asort():根据value升序;arsort():根据value降序
    • ksort():根据key升序;krsort():根据key降序

对象:

在类中声明成员属性时,变量前面一定要使用一个关键字来修饰,例如 public、private,static 等,但这些关键字修饰的变量都具有一定的意义。如果不需要有特定意义的修饰,可以使用“var”关键字

构造函数:

旧版本使用与类同名的函数作为构造函数,新版本:使用__construct(注意:是两条下划线)作为类的构造函数

//首先必须声明对象的类,类是包含属性和方法的结构。
class Car{
    var $color;
    var $price;
   /*function Car($clor) {
      $this->color = $clor;
    }*/ 
    function __construct($clor="green",$jg){
        $this->color=$clor;
        $this->price=$jg;
    }
}
$abc = new Car("white",1000);	//abc是对象类型
//通过->访问属性,不加$
echo $abc->color," ",$abc->price;

NULL

值也是NULL(不区分大小写)      is_null()检测是否为NULL

作用:①可以通过把值设置为NULL,将变量清空。②判断变量是否为空x==NULL;③区分空字串和空值数据库

unset()将一个变量转为NULL,并不会删除变量或将其值改为null,仅是返回NULL值而已

数据类型转换

  • (int)、(float)、(double)、(bool)、(array)、(object)

  • intval()、floatval()、strval()

  • settype()

$a="123.1";
(float)$a
floatval($a)
settypr($a,"float");

常量

一旦被定义,就无法改变其值或撤销定义。常量全局可用,在函数内不需要global声明。不能加**$**

define(name,value,boolean):boolean默认为false,即对大小写敏感。已经弃用。

const message="hello"

运算符

“.” 连接字符串"hello"."world"=="helloworld"

===类型和值全等 !==不全等

不等于:!=<>    <= 小于等于  >= 大于等于

逻辑运算符 :and、or、xor,&&、||、!

太空船运算符(组合比较符):$a<=>$b小于:-1 等于:0 大于:1

条件及循环语句:

if( ){ }else if( ){ }else{ }

while( ){ }   do{ }while( )

switch(){case : ; break;……default:;break;}

for( ; ; ){ }

foreach()循环只适用于数组,每次循环迭代,将当前的数组元素赋给$value变量

foreach ($array as $value) {
  code;
}

超全局变量

  • $GLOBALS

存储所有全局变量的关联数组,通过全局变量名访问值。

$GLOBALS[index] 的数组中存储了所有的全局变量,使用命名索引。$GLOBALS['x']

  • $_SERVER

一个包含了诸如头信息(header)、路径(path)、脚本位置(scripts locations)等信息的数组

  • $_FILES:通过 HTTP POST 方式上传到当前脚本的项目的数组

  • $_ENV:通过环境方式传递给当前脚本的变量的数组。

  • $_COOKIE:通过 HTTP Cookies 方式传递给当前脚本的变量的数组

  • $_SESSION:当前脚本可用 SESSION 变量的数组

  • 接收表单数据

    • $_REQUEST:用于收集HTML表单提交的数据
    • $_POST:被广泛应用于收集表单数据,在HTMLform标签的指定该属性:"method=“post”
    • $_GET:用于收集来自method=“get” 的表单中的值,GET会把参数包含在URL中,不适合用于敏感信息的表单

访问表单数据:$_REQUEST['name'],name是表单中对应的输入标签的name属性。

<!--- html中的部分 --->
<form method="post" action="index.php">
    Name: <input type="text" name="user"><br/>
    Password:<input type="text" name="pwd">
    <input type="submit" value="提交">
</form>
<!--- php文件中的 --->
<?php
$name=$_REQUEST['user'];
$pwd=$_REQUEST['pwd'];
echo $name."<br/>".$pwd;

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

PHP MySQL

query()执行sql语句:

  • 针对一般查询(insert/delete/undate…),将返回 TRUE / FALSE。

  • 针对成功的 select、show、describe 或 explain 查询,将返回一个 mysqli_result 对象。通过mysqli_fetch_array()函数数组化查询到的记录

<?php
$servername = "localhost";
$username = "root";
$password = "root";

// 创建连接
$conn = new mysqli($servername, $username, $password);

// 检测连接
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
} 
echo "连接成功";
/*******执行SQL语句*******/
//创建数据库
$sql="create database PHP";
$result= $conn->query($sql);
if($result===TRUE){
    echo "database创建成功";
}
//查询
$sql="select * from PHP";
$result=$conn->query($sql);
$row=mysqli_fetch_array($result);

//连接在脚本执行完会自动关闭,也可以用下列代码关闭连接
$conn->close(); //或 mysqli_close($conn);    
?>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值