吾爱乐享
个人学习网站

php学习之php的运算符的使用

吾爱乐享阅读(1722)

说明:对操作数进行运算的符号,就是运算符

表达式:表达式是php最重要的基石,在php中,几乎所写的任何东西都是一个表达式。简单却最精确的定义一个表达式的就是“任何有值的东西”。如:$a=5; $a=4+1;

运算符分类:

  • 运算符优先级
  • 算术运算符
  • 赋值运算符
  • 位运算符
  • 比较运算符
  • 错误控制运算符
  • 执行运算符
  • 递增、递减运算符
  • 逻辑运算符
  • 字符串运算符
  • 数组运算符
  • 类型运算符

1.算术运算符

说明:+ – * / %

  • -$a:取反         $a 的负值
  • $a+$b:加法    $a和$b的和
  • $a-$b:减法      $a和$b的差
  • $a*$b :乘法     $a和$b 的乘积
  • $a/$b:除法      $a和$b的商
  • $a%$b:取模      $a和$b的余数

 

2.赋值运算符

说明:就是给变量赋值的作用

3.比较运算符

说明:对操作数进行比较,<、>、<=、>=、 ==、 !=、 ===、 !==比较运算符的结果只有真和假

  • $a==$b:等于                   结果为true,类型转换后$a等$b
  • $a===$b:全等                 结果为true,$a等于$b,且类型也相同
  • $a!=$b或$a<>$b:不等于                  结果为true,类型转换后$a!=$b
  • $a!==$b:不全等                结果为true,$a不等于$b或者他们的类型不同
  • $a<$b:小于                      结果为true,$a必须小于$b
  • $a>$b:大于                      结果为true,$a必须大于$b
  • $a<=$b:小于等于             结果为true,$a小于或等于$b
  • $a>=$b:小于                      结果为true,$a大于或等于$b

严格的比较全等于===,只有一一对应的才为true,其他都是false

4.错误抑制符

说明:@,目的屏蔽一些不重要的错误

作用:所有的为肮脏不可能没有bug,屏蔽一些不重要的错误,不影响上线

5.执行运算符

说明:“,把数据用反引号括起来后,就是执行了

6.递增、递减运算符

说明:自增1或者自减1,符号:++、–

  • ++$a:前加           $a的值加一,返回$a
  • $a++:后加            返回$a,然后将$a的值加1
  • –$a:前减                $a 的值减1,返回$a
  • $a–:后减              返回$a的值,然后将$a的值减1

如果给某一个变量++或–后,不再赋值给另一个变量,这个时候前加和后加没有任何区别,当加完或减完后给另一个变量赋值,这个时候的前和后是有区别的

后加:先赋值在操作

前加:先操纵,在赋值

note:递增、递减运算符不影响布尔值,递减null值也没有效果,但是递增null的结果为1

7.逻辑运算符

说明:逻辑运算符也叫短路运算符,认为写的只判断一边如果达成条件直接结束给结果

  • $a and $b\$a && $b:and逻辑与          结果为true,$a和$b都为true
  • $a or $b\$a || $b : or逻辑或                结果为true,$a和$b期中任意一个为true
  • $a xor $b :逻辑异或                           结果为true ,$a或$b只能是其中一个为true,
  • !$a:not逻辑非                                结果为true,$a 不为true,取反的意思

逻辑非:||

当两边的操作数期中一边为真,结果就是真

当两边的操作数都为假时,结果为假

当前左边的操作数为假时,采取左边判断操作数,如果为真,结果为真,如果为假,结果为假

逻辑与:&&

当两边的操作数期中一边为假时。结果就是假

当两边的操作数都是真时,结果为真

当左边的操作数为真时,会判断右边的操作数,如果为真。结果为真,如果为假,结果为假

逻辑非:!

说明:取反,非真即假,非假即真

案例:定义变量,判断是否是闰年

8字符串连接符

说明:通过(.)或(.=)进行字符串的拼接

  • .=:连接后在赋值
  • .:连接符

php学习之php的八种数据类型的使用

吾爱乐享阅读(2169)

字符串类型:string

php学习之php的八种数据类型之字符串string的使用

1.整数型:int

说明:是负数、0、正数的集合、在php中存储整数为10进制、八进制、十六进制

语法:$var=整数数字;

  • 八进制的写法:在数字前面加上0,就是八进制。数字的范围有0-7。
    • 算法:出去开头0,各位+十位*8 +百为*8*8+千位*8*8*8….
    • $num=0456; //4*8*8+5*8+6=302
  • 十六进制的写法:在数字前面加上0x,数字为0-f
    • 算法:出去开头0,各位+十位*16 +百为*16*16+千位*16*16*16….
    • $num =0x456;//4*16*16+5*16+6=1110
  •  十进制的写法:直接写数字,数字范围0-9

 

php最大的存储数值为:21亿。用常量PHP_INIT_MAX查询,最大存储值为2147483647,超过这个值自动转为float型

php最大的位数为14位,一个数值占多个位置,PHP_INT_SIZE

2.浮点型:float

说明:就是小数,浮点型也叫浮点数、float、双精度数double或实数real

php中的小说有两种表现形式,

  • 普通的小数
  • 科学计数法

浮点数的精度有限,尽管取决于系统,php通常使用ieee754双精度格式,则由于取整而导致的最大相对误差为1.11e-16。非基本数学运算可能会给出更大的误差,并且要考虑到进行复合运算时的误差传递

此外,以十进制能够精确表示的有理数如0.1或0.7,无论有多少为数都不能被内部所使用的二进制精确表示,因此不能在不丢失一点点精度的情况下转换为二进制的格式,这就会造成混乱的结果,如:floor((0.1+0.7)*10)通常会返回7而不是预期中的8,因为结果内部的表示其实是类似于7.9999999999999991118…

所以永远不要相信浮点数结果精确到了最后一位,也永远不要比较两个浮点数是否相等,如果确实需要更高的精度,应该使用任意精度数学函数或者gmp函数

普通小数形式

小数末尾多个,小数点后面超过最大长度,会自动删除超出部分,最末尾会四舍五入

科学计数形式

超过14位自动转为科学计数法

3.布尔类型:boolean

说明:在php中布尔型的数据只有两个值,true和false

布尔值一般都用于返回的结果用于流程控制语句中

4.数组:array

说明:一组数据的集合

$变量=array(元素1,元素2,元素3,……);

5.对象:object

说明:世间万物皆为对象

在php中的对象是由类创建来的

//class创建一个类,调用对象
$name=null;
$age=0;
Class people{
//属性
var $name;
var $age;
//方法
function run()
{
echo '跑步';
}
}
//创建对象
$zs=new people();
$zs->name='张三';
$zs->age=23;
echo $zs->name;
$zs->run();
$ls= new people();

6.空:null

说明特殊的null值表示一个变量没有值,null类型唯一的值就是它本身null

在php中只能有定义变量并赋值的情况,没有只定义不赋值,这个时候就需要创建一个变量,不知道存储说明值,这个时候可以使用null来创建变量

用法:

7资源:resource

说明:就是引用php外部的内容,这个时候的类型就是资源,资源是通过专门的函数建立和使用的

8.手册中的类型:用于说明需要某种类型的数据

  • mixed:一个参数可以接收多种不同的类型,如果函数需要的形参是两种以上,都会使用mixed
  • number:可以是int和float
  • void:作为返回类型意味着函数的返回值是无用的,void作为参数列表意味着函数不接受任何参数

9数据类型的转换

说明:在php 中数据类型是可以进行互相转换的,如整型1转换成字符串’1′

在php中分两种转换形式,:自动转换和强制转换

自动转换

给到特定写法就会改变原来的类型

强制转换

可以使用一些特殊的方式来强制型的改变类型

允许的强制转换的有:

  • (int),(integer):转换为整型
  • (bool),(boolean):转化为布尔类型
  • (float),(double),(real):转换为浮点型
  • (string):转换为字符串
  • (array):转换为数组
  • (object):转换为对象
  • (unset):转换为null

<?php

/**
* @Author: admin
* @Date: 2018-08-16 22:38:26
* @Last Modified by: admin
* @Last Modified time: 2018-08-17 04:29:11
*///
//定义一个十进制的整数的类型
$num1 = 10;
$num2 = 0;
$num3 = -10;
echo $num1."<br>".$num2."<br>".$num3;
echo "<br>";
//定义一个八进制的类型
$num1 = 000;//0
$num2 = 077774;//32764
$num3 = 05555;//2925
echo $num1."<br>".$num2."<br>".$num3;
echo "<br>";
//定义一个十六进制的类型
$num1 = 0x00ff;//255
$num2 = 0xfff;//4095
$num3 = 0x00000;//0
echo $num1."<br>".$num2."<br>".$num3;
echo "<br>";

//查询最大php存储数值
echo PHP_INT_MAX;//最大存储值为2147483647,超过这个值自动转为float型
//查询一个数字占多大位置
$num = 1111111111111111;//超过14位后自动转为科学计数法
var_dump($num);
echo PHP_INT_SIZE;//4
$num = 11111111111;//超过int的取值范围后自动转为float型
var_dump($num);
$num = 1111111111;//没超过int的取值范围是int型
var_dump($num);
//小数浮点型
$num1=1.1;
$num2=0.0;
//小数末尾多个,小数点后面超过最大长度,会自动删除超出部分,最末尾会四舍五入
$num3=1.00000000000000000000000000;
var_dump($num3);
$num3=9.99999999999999999999999999;
var_dump($num3);
$num3=5.55555555555555555555555555;
var_dump($num3);
$num3=4.44444444444444444444444444;
var_dump($num3);
//科学计数
$num=1111111111111111.1;//超过14位自动转为科学计数法
var_dump($num);
$num=1111111111111.1;//没超过14位
var_dump($num);
//不精准体现
$num=floor((0.1+0.7)*10);//floor强制转化成浮点型
var_dump($num);//结果为7二不是8

//bool类型
$true=true;
var_dump($true);
//一般布尔类型会用在控制语句中
if ($num==1) {
echo '真';
} else {
echo '假';
}
echo "<hr>";

//class创建一个类,调用对象
$name=null;
$age=0;
Class people{
//属性
var $name;
var $age;
//方法
function run()
{
echo '跑步';
}
}
//创建对象
$zs=new people();
$zs->name='张三';
$zs->age=23;
echo $zs->name;
$zs->run();
//null类型
$a=null;
$b='';//空字符串
if (empty($b)) {
echo '空';
} else {
echo $b;
}
//给函数的形参加默认值
function FunctionName($value='',$b=null)
{

}
FunctionName();
//资源resource 连接数据库
$link= @mysql_connect('127.0.0.1','root','root');
var_dump($link);
//自动转换
$a=1;
$b=2;
$v=$a.$b;//转换为字符串
var_dump($v);
if ($a) {//自动转换为boolean类型
echo '真';
}
//强制转换
$num=1;
var_dump((string)$num);//强制转换为字符串
$str='123';
var_dump((int)$str);//强制转换为整数

php学习之php的八种数据类型之字符串string的使用

吾爱乐享阅读(1798)

说明:数据类型就是php能存储数据的格式,php提供8种数据类型

  • 标量类型
    • int
    • float
    • boolean
    • string
  • 复合类型
    • array
    • object
  • 特殊
    • null
    • resource

除了这八种数据类型之外,还有在文档手册中提供了一些类型,查手册需要了解

1.字符串类型:string

说明:字符串类型就是把任何数据加上引号(单引号和双引号),就变成了字符串了.如:

  • $name=’admin’;
  • $name=”admin”;
  • $age=’23’;
  • $true=’true’;
  • $num=’3.14′;
  • $arr=’array(1,2,3)’;

单引号:

语法:加上英文状态下的单引号。’字符’

双引号:

语法:加上英文状态下的双引号。”字符”

单引号和双引号的区别:

  • 双引号可以解析变量。如:$name=”$admin”;
  • 单引号不能解析变量。
  • 转义字符的多少,双引号转义字符多,单引号转义字符只有两个(’和\)即单引号本身和反斜杠
  • 定界符不一样
    • 双引号定界符:HEREDOC
    • 单引号定界符:NOWDOC

双引号和单引号同时解析变量如图:

转义字符的多少:

  • 双引号转义字符
    • \n:换行
    • \r:回车
    • \t:水平方向的tab
    • \v:竖直方向的tab
    • \f:换页
    • \\:反斜线
    • \$:美元符号
    • \”:双引号
    • \[0-7]{1,3}:符合该表达式顺序的字符串是一个八进制的字符
    • \x[0-9A-Fa-f]{1,2}:符合该表达式顺序的字符串是一个十六进制的字符
  • 单引号的转义字符
    • \’:单引号
    • \\:反斜线

双引号定界符:HEREDOC

说明:双引号定界符写法

语法:

$str=<<<定界符

代码(html、css、javascript、php)

结束定界符;

定界符:当前字符串开始的符号,这个符号用大写的字母,这个字母是自定义的,开始定界符后面不能跟任何的字符或空格

结束定界符:必须和开始定界符一直,必须顶头写。

单引号定界符:NOWDOC

说明:单引号的定界符写法

语法:

$str=<<<‘定界符’

代码(html、css、JavaScript)

结束定界符;

2.字符串的常用函数

字符串分解和合并

说明:在php中提供了两个函数可以对字符串进行拆分和组合,组合成数组,作用是如多选框有多个值

explode:把字符串通过一个分割字符进行分割成数组

array explode(string $delimiter, string $string [,int $limit] )

此函数返回由字符串组成的数组,每个元素都是string的子串,他们被字符串delimiter作为边界分割出来

 

implode:把一维数组转换成字符串

说明:字符串合并

第一种写法

string implode(string $glue, array $pieces)

$glue:合并成字符串的分隔符,方便后期拆分

第二种写法

string implode(array $pieces)

去除字符串的空格

  • ltrim():去除字符串左边的空白字符
  • rtrim():去除字符串右边的空白字符
  • trim():去除字符串两边的空白字符

ltrim:删除字符串开头的空白字符或其他字符

说明

string ltrim(string $str[,string $character_mask])

删除字符串开头的空白字符或其他字符

该函数返回一个删除了str最左边的空白字符的字符串,如果不使用第二个参数,ltrim()只删除以下字符

  • “”:普通的空白字符
  • “\t”:制表符
  • “\n”:换行符
  • “\r”:回车符
  • “\0″:null空字符
  • “\x0B”: 垂直制表符

字符串替换

substr_replace:替换字符串的子串

说明:

mixed substr_replace(mixed $string ,mixed $replacement, mixed $start [,mixed $length])

substr_replace()在字符串string 的副本中将由start和可选的length参数限定的子字符串使用replacement进行替换

string:被替换的字符串

replacem:要替换的字符串

start:开始替换的位置

length:替换的长度

字符串查找替换:str_replace

str_replace:子字符串替换

mixed str_replace(mixed $search ,mixed $replace, mixed $subject [,int &$count])

该函数返回一个字符串或数组,该字符串或数组是将subject中全部search都被replace替换之后的结果

search:被替换的子字符串

replace:需要替换的子字符串

subject:被查找的字符串

字符串截取

substr:返回字符串的子串

说明:

string substr(string $string , int start [,int $length])

返回字符串string由start和length参数指定的子字符串

string:被截取的字符串

start:开始截取的位置

length:截取的长度

如果提供了正数的length,返回的字符串将从start处开始最多包括length个字符

如果提供了负数的length,那么string末尾出的许多字符将会被漏洞(若start是负数则从字符串尾部开始),如果start不在这段文本中,那么将会返回一个空字符串

如果提供了值为0、false、null的length那么将返回一个空字符串

//截取字符串长度 substr
$str='我的公众号,吾爱乐享,欢迎关注';
var_dump($str);
$new =substr($str,18,12);//一个汉字占三个length
echo $new;
echo '<hr>';
$new =substr($str,-27,12);//start从负数开始则是从结尾开始数27个后开始截取12个字符
echo $new;
echo '<hr>';
$new =substr($str,18,-3);//length为负数,则从末尾开始删除字符,负多少就删除多少
echo $new;

php学习之php基础总结

吾爱乐享阅读(2389)

1.php基础语法:

  • php标识符
    • <?php code; ?>
    • <? code; ?>
    • <script language = “php”>code;</script>
    • <% code; %>
  • 结束符号:分号
    • 一种是控制语句,不需要分号
    • 一种是功能语句
  • 混编:是把php代码写入到html代码中,在把html和php混编的代码放入到php文件中
  • 注释:
    • 单行注释
      • #:主要用在开始文件的信息,包括作者、时间、主要功能等
      • //:用在被注释代码的上面或后面
    • 多行注释:
      • /* 注释的内容*/:主要用在函数或类的描述

2.变量

变量是存储数据的空间。数据是可以发生变化的,php是一个弱类型语言,它的变量的类型由php代码上下文来决定的

  • java变量定义:int a=1;强制使用变量类型,只能存储int型的值
  • php变量定义:$a=1;没有数据类型的强制要求,可以存储任何类型的值

命名规则:变量只能是数字、字母、下划线且不能以数字开头

命名方式:3种

  • 驼峰:一般用于变量
  • 下划线:一般用于函数
  • 帕斯卡:一般用于类

可变变量:一个变量的值当成另一个变量的名。(变量值和变量名不能相同,否则会报错)写法:在变量的前面加上$符号

  • $name=’admin’;
    $$name=’admin888′;
    echo $$name;
  • 错误的写法:$name=’name’;
    $$name=’admin888′;
    echo $$name;

传值方式:值传递和引用传递

  • 值传递:复制一份给另一个变量,变量名不同
  • 引用传递:把变量的存储地址给另一个变量,两个变量指向同一个空间

变量作用域:局部、全局、静态

  • 局部:在函数内定义的变量就是局部变量、正常不能在函数外使用,可以借助global声明
  • 全局:在函数外定义的变量就是全局变量,正常不能在函数内使用,可以通过传值的方式调用,也可以借助global声明
  • 静态:不在销毁,在函数内使用,static声明

超全局变量:一般都是数组

  • $GLOBALS:会存储当前页面中的所有全局变量
    • 自定义:$GLOBALS[‘GLOBALS’]等价与$GLOBALS
  • $_SERVER:自动获取服务器和客户端信息
  • $_GET/$_POST/$_REQUEST:接收传递过来的数据
  • $_FILES:获取上传文件的信息
  • $_SESSION/$_COOKIE:会话

常量:

  • define(‘常量名’.’常量值’);
  • const 常量名=常量值;

魔术常量:就是可以根据环境的不同来获取不同的内容

  • __LINE__:文件中当前的行数
  • __DIR__:文件所在目录的路径。末尾不带斜杠。如:F:\wamp\www\php2
  • __FILE__:完整的路径和文件名。如:F:\wamp\www\php2\demo.php
  • __FUNCTION__:函数名称
  • __CLASS__:类

php学习之php的预定义常量的使用

吾爱乐享阅读(2213)

说明:常量一旦定义,里面的值和常量是不能改变和销毁的,而且常量名不能重复

1.常量的定义:

语法:define(常量名,常量值); 不能定义复合数据

  • 5.x php版本:const来定义复合的数据,如数组
  • 7.0 php版本:define可以定义复合的数据.如:define(ARR,[1,2,3,4,5]);

2 访问常量

说明:直接使用常量名就可以了.。如:echo NAME;

常量的使用:网站的配置文件中使用。如:当前网站路径

3.魔术常量—预定义常量

  • __LINE__:文件中的当前行号
  • __FILE__:文件的完整路径和文件名,如果用在被包含的文件中,则返回被办好的文件名,自php4.0.2起,__FILE__总是包含一个绝对路径.如果是符号连接,则是解析后的绝对路径,而在此前的版本有时会包含一个相对路径
  • __DIR__:文件所在目录。如果用在被包括文件中,则返回被包括的文件所在目录,它等价于dimame(__FILE__)除非是i根目录。赋值目录中名不包括末尾斜杠
  • __FUNCTION__:函数名称,php4.3.0新增,php5起本常量返回该函数被定义时的名字(区分大小写)在php4中该值总是小写
  • __CLASS__:类的名称
  • __TRAIT__:trait的名称
  • __METHOD__:类的方法名
  • __NAMESPACE__:当前命名空间的名称

mvc:URL传递数据: index.php:c=getuser&a=xxxx&m=index

产生随机数的函数:rand()

说明:rand:产生一个随机整数

int rand(void)

int rand(int $min, int $max)

<?php

/**
* @Author: admin
* @Date: 2018-08-12 22:56:43
* @Last Modified by: admin
* @Last Modified time: 2018-08-12 23:39:54
*/
//常量的定义
define('NAME','张三');
define('PI',3.14);
echo NAME,PI;
const USER='admin';
echo USER;
//__CLASS__:获取当前类名
class getuser{
function index(){
include './xx/index.html';
}
function add(){
include './xxx/index.html';
}
}
//rand()随机函数
$num=rand(1,100);//随机生成1-100的整数
echo $num;

题:

  1. 变量处理常用的函数有哪些? 举例说出至少四个,并各举一个案例说明
  2. unset如何在函数内部就销毁一个全局变量,请使用的代码来说明如何销毁
  3. PHP基本数据类型的值传递和引用传递的区别是什么,请画出对应的内存示意图
  4. 一个页面server.php,并输出至少5个$_SERVER内的元素信息,并说明是什么含义,页面表现形式如下:
元素名称 使用形式 结果 含义
PHP_SELF $_SERVER[‘PHP_SELF’] /test/$_SERVER.php 表示本网页路径
       
       
       
       

参考:PHP手册〉语言参考〉预定义变量〉$_SERVER

5.写一个表单,用来填写“用户信息”,要求出现所有的表单元素类型(除文件类型):

文本框,密码框,单选,复选,下拉,多行文本域,隐藏域

提交后显示用户所填写的所有数据。
复选框的问题:都一个name值,复选框name是一个,问:怎么实现获取多个选项的值

答案:

1.变量常用的函数:

isset():案例:$user=isset($_GET[‘user’])?$_GET[‘user’]:”;//判断是否存在

unset():案例:$a=1; unset($a);//销毁变量a

empty():案例:$a=1;if(empty($a)){echo “存在”};//判断是否为空

echo:案例:$a=1;echo $a;//打印a

var_dump():案例:$a=1; var_dump($a);//打印a

2.用unset销毁在函数中的全局变量

//只销毁局部变量
$a=1;
function demo(){
global $a;//把全局变量局部声明
echo $a;
unset($a);//销毁变量a
echo $a;
}
demo();//变量a被销毁
echo $a;//a的值存在正常打印
//销毁全局变量
function un(){
	global $a;//声明局部变量
	unset($GLOBALS['a']);
	//echo $a;
}
un();
echo $a;//a的值没有了

3.值传递和引用传递的区别

值传递,传递过去的是数值,

引用传递,传递的是地址值

4.新建一个server.php

<?php

/**
* @Author: admin
* @Date: 2018-08-13 00:03:26
* @Last Modified by: admin
* @Last Modified time: 2018-08-13 01:13:03
*/
$arrayName = array('REQUEST_URI','SCRIPT_NAME','PHP_SELF','SERVER_ADMIN','SCRIPT_FILENAME');
$arr2=array('URI 用来指定要访问的页面','包含当前脚本的路径','当前执行脚本的文件名',' Apache 服务器配置','当前执行脚本的绝对路径');
echo "<table border=1>";
echo '<tr>';
echo '<th>元素名称</th><th>使用形式</th><th>结果</th><th>含义</th>';
echo '</tr>';
foreach ($arrayName as $key => $value) {

echo '<tr>';
echo '<td>'.$value.'</td>';
echo "<td>\$_SERVER['$value']</td>";
echo "<td>".$_SERVER[$value]."</td>";
echo '<td>'.$arr2[$key].'</td>';
echo '</tr>';
}
echo '</table>';

5.答案

<?php

/**
* @Author: admin
* @Date: 2018-08-13 01:15:48
* @Last Modified by: admin
* @Last Modified time: 2018-08-13 02:07:11
*/
//获取表单信息
$user=$_REQUEST['user'];
$pass=$_REQUEST['pass'];
$sex=$_REQUEST['sex'];
$aihao=$_REQUEST['aihao'];
$xueli=$_REQUEST['xueli'];
$jieshao=$_REQUEST['jieshao'];
$id=$_REQUEST['id'];

?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<form action="" method="post">
用户名:<input type="text" name="user"><br>
密码:<input type="password" name = "pass"><br>
性别:<input type="radio" name = "sex" value="男"> 男
<input type="radio" name = "sex" value="女">女 <br>
爱好:<input type="checkbox" name = "aihao[]" value="篮球">篮球
<input type="checkbox" name = "aihao[]" value="学习">学习
<input type="checkbox" name = "aihao[]" value="php">php
<input type="checkbox" name = "aihao[]" value="编程">编程<br>
学历:<select name= "xueli">
<option value="小学">小学</option>
<option value="中学">中学</option>
<option value="大学">大学</option>
</select><br>
介绍:<input type="textarea" name = "jieshao" ><br>
<input type="hidden" name ="id" value="1">
<input type="submit" value="提交">
</form>
<table border="1">
<tr>
<td>用户名</td>
<td><?php echo $user;?></td>
</tr>
<tr>
<td>密码</td>
<td><?php echo $pass;?></td>
</tr>
<td>性别</td>
<td><?php echo $sex;?></td>>
</tr>
<tr>
<td>爱好</td>
<td><?php echo $aihao;?></td>
</tr>
<tr>
<td>学历</td>
<td><?php echo $xueli;?></td>
</tr>
<tr>
<td>介绍</td>
<td><?php echo $jieshao;?></td>
</tr>
<tr>
<td>id</td>
<td><?php echo $id;?></td>
</tr>

</table>
</body>
</html>

php学习之php的预定义变量的使用

吾爱乐享阅读(1682)

说明:就是php系统内置的提供给使用的变量,这个变量一般都是超全局变量,超全局就是没有作用域的限制有的还可以跨页面

  • $GLOBALS
  • _SERVER
  • _GET
  • _POST
  • _FILES
  • _COOKIE
  • _SESSION
  • _REQUEST
  • _ENV

1.$GLOBALS

说明:globals是php内置的可以自动获取当前页面中的所有变量的内容,包括局部变量、全局变量、静态变量

2.$_SERVER

说明:server会自动获取服务器和客户端的信息

$_SERVER是一个包含了诸多如头信息(header)、路径(path)、以及脚本位置(scriptlocations)等信息的数组。这个数组中的项目由web服务器创建,不能保证每个服务器都提供全部项目,服务器可能会忽略一些或者提供一些没有在这里列出来的项目,这也就意味着大量的此类变量都会在CGI 1.1规范中说明,

$HTTP_SERVER_VARS包含着相同的信息,但它不是一个超全局变量(注意 $HTTP_SERVER_ARS与$_SERVER是不同变量,php处理他们的方式也不同)

3.$_FILES

说明:获取上传文件的信息

  • name:图片名称
  • type:图片类型
  • tmp_name:文件的临时文件夹和文件名称
  • error:错误信息
  • size:文件大小

将上传的文件移动到新的位置:move_uploaded_file

bool move_uploaded_file(string $filename , string $destination)

  • filename:上传的文件的文件名
  • destination:移动文件到这个位置

本函数检查并确保由filename指定的文件是合法的上传文件(即通过php的http post上传机制所上传的)如果文件合法,则将其移动有destination指定的文件

返回值

成功时返回true

如果filename不是合法的上传文件。不会出现任何操作,move_uploaded_file()将返回false

如果filename是合法的上传文件。但出于某些原因无法移动,不会出现任何操作,move_updloaded_file()将返回false,此外还会发出一条警告

4.$_GET:url方式传递数据

说明:其实就是浏览器地址传递方式

传递方式:URL地址?参数值1=值1&参数值2=值2….

传递形式:表单的get方式和超链接方式

5.$_POST:http post方式传递数据

说明:通过http协议的post方式来传递数据

传递方式:表单的post方式或者ajax

6.$_REQUEST:http request变量

说明:默认情况下包含了$_GET和$_POST和$_COOKIED的数组

<?php

/**
* @Author: admin
* @Date: 2018-08-12 18:05:09
* @Last Modified by: admin
* @Last Modified time: 2018-08-12 22:36:52
*/
//预定义变量
$name='张三';
$age=23;
$sex='男';
static $wx='吾爱乐享';
//var_dump($GLOBALS);//打印所有的变量,包括自定义的和系统自带的
//定义一个函数
function user()
{
global $add;
$add='陕西';
var_dump($GLOBALS);

echo $GLOBALS['name'];//在局部打印全局变量
}
user();
echo $add;//全局打印局部变量
echo $GLOBALS['wx'];//打印静态变量的值
//接收file传来的信息
// $file_name=$_FILES['filename'];
// var_dump($file_name);
move_uploaded_file($file_name['tmp_name'], 'F:\wamp\www\php2\images/1.jpg');
//get接收
$get_user=$_REQUEST['getuser'];

echo $get_user;
?>

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<!--创建一个表格,把服务器信息保存到表格中-->
<table border="1">
<tr>
<th>服务器名称</th>
<th>服务器对应值</th>
</tr>
<?php foreach ($_SERVER as $key => $value): ?>
<tr>
<td><?php echo $key ?></td>
<td><?php echo $value ?></td> 
</tr> 
<?php endforeach ?>
</table>
<!-- 创建表单,上传文件 -->
<!-- <form action="" method='post' enctype="multipart/form-data">
<input type="file" name='filename'>
<input type="submit" value="上传">
</form> -->
<!-- post传递方式 -->
<form action="" method="post">
<input type="text" name="getuser">
<input type="submit" value="提交">
</form>
</body>
</html>

php学习之php的变量的使用

吾爱乐享阅读(1759)

1.变量的介绍

说明:可以存储变化的量(数据)的空间,可以变化的量是通过上下文来决定的,属于弱类型语言

2.变量的声明

说明:变量的声明四用‘$’来进行定义的声明的,在内存中需要定义变量并赋值

语法:$变量名=变量值;

变量名的范围:数字、大小写字母、下划线且不能以数字开头

变量名一般是见名知意的定义,

3.可变变量

说明:可以把某个变量的值当成另一个变量的名开使用,这个时候的好处是减少变量的定义,节省内存空间

案例:

4.变量的传值方式

  • 值传递:把一个变量的值复制一份,然后在赋值给另一个变量,这个时候的两个变量没有任何关系的

  • 引用传递:把一个变量的值的地址给另一个变量,这个时候的两个变量公用同一个地址对应的值,指向同一个地址,这两个变量值有关系的。&取地址值符号

5.变量的范围

说明:在php中变量分为三种访问方式,局部变量、全局变量、静态变量

  • 全局变量:在函数外定义的变量就称为全局变量,正常情况只能在函数外使用

  • 局部变量:在函数中定义的变量称为局部变量。正常情况只能在函数中使用

  • 静态变量:在正常情况下是在运行完当前页面后进行销毁的(php自己的特性),如果不想销毁可以使用静态变量

说明:调用函数age1,因为$age1变量变成静态,所以调用一次函数后,变量并没有销毁,执行$age1++后变量就会增加1,所以再次调用的时候,值就变了

全局转局部或者局部转全局

说明:局部变量可以在函数内部声明为全局变量,这个时候局部就可以在函数外使用,声明方式:$GLOBALS和global

局部转全局

全局转局部

6.变量常用的5个函数

  1. isset():判断变量是否存在
  2. unset():删除或销毁变量
  3. empty():判断变量是否为空
  4. echo:输出打印值,不能输出复合和特殊的数据类型的值
  5. var_dump():输出打印值、类型、长度、打印复合或特殊类型的值

isset()

//isset()用法
//用法一,最基础的判断变量是否存在
$user_name = 'admin';
$res = isset($user_name,$abs);//判断变量user_name和abs是否存在
var_dump($res) ;//输出结果为false,因为虽然$user_name存在 但是$abs不存在,所以结果为假

//用法二,目的是防止用户直接访问当前页面,如果直接访问会查不到$use_age下标,结果会报错
$use_age = isset($_GET['use_age'])?$_GET['use_age']:'';
//用法三,
if (isset($age,$name)) {
# code...
echo "存在";
} else {
# code...
echo "不存在";
}

unset():unset不止可以删除变量,还可以删除数组中的某个元素

empty():判断是否为空

echo

var_dump()

<?php

/**
* @Author: admin
* @Date: 2018-08-11 16:50:35
* @Last Modified by: admin
* @Last Modified time: 2018-08-12 10:09:02
*/
//可变变量
$name='张三';
$$name='hello';
echo $$name;//相当于把张三当作一个变量名,把hello赋值给张三,打印结果为hello
echo $name;
echo '<br>';
//值传递
$name = '张三';
$zs = $name;//帮变量$name赋值给$zs ,相当于把张三赋值给$zs
echo $name,$zs;//打印结果为两个张三
$name = '李四';//给变量重新赋值,用现在的值覆盖原来的值
echo $name;
echo "<br>";
$age = 23;
$zsage = &$age;//&取地址值符号,&是获取$age的数据的地址值
echo $age,$zsage;//打印结果是两个23
echo '<br>';
$age = 24;//修改age的值,引用传递方式修改,修改一个另一个也会改变
echo $age,$zsage;//打印结果$age=24,$zsage=24
echo '<br>';
//删除变量$age,另一个结果不受影响
unset($age);
echo $age,$zsage;//打印结果$age报错,$zsage=24;
//全局变量
$name = '张三';
function user(){
echo $name;//在函数外定义一个变量$name,在函数中调用,结果会报错,说明全局变量正常情况是不能在函数中调用
}
user();
function age(){
$age=24;//在函数中定义变量
echo $age;
}
age();//调用函数,结果会打印24
echo "<hr>";
echo $age;//在函数外打印变量$age
//静态变量
$age=24;
$age++;
echo $age;//输出结果为25

function age1(){
static $age1=16;//定义一个静态变量$age1,static 就是静态变量的声明方式,静态变量声明后运行完当前页面不在销毁这个变量,而是保留
echo $age1;//打印age1的值为16
$age1++;
}
//调用函数age1,因为$age1变量变成静态,所以调用一次函数后,变量并没有销毁,执行$age1++后变量就会增加1,所以再次调用的时候,值就变了
age1();//调用一次,结果为16
age1();//调用第二次,结果17,
age1();//调用第三次,结果18,
age1();//调用第四次,结果19,
echo "<hr>";
//局部转全局
//定义一个函数
function sex(){
global $sex;//global就是把变量$sex声明成全局变量,这样就可以在全局使用
$sex='男';//global声明完之后,给变量赋值
echo $sex;
}
sex();//调用函数 结果为男
echo $sex;//在全局打印局部定义的变量,结果输出为男

//全局转局部
$names = '张三';//定义一个全局变量$names
//定义函数
function names(){
//用global声明变量$names为局部变量
global $names;
echo $names;//打印$names.结果为张三
}
//调用函数
names();

//isset()用法
//用法一,最基础的判断变量是否存在
$user_name = 'admin';
$res = isset($user_name,$abs);//判断变量user_name和abs是否存在
var_dump($res) ;//输出结果为false,因为虽然$user_name存在 但是$abs不存在,所以结果为假

//用法二,目的是防止用户直接访问当前页面,如果直接访问会查不到$use_age下标,结果会报错
$use_age = isset($_GET['use_age'])?$_GET['use_age']:'';
//用法三,
if (isset($age,$name)) {
# code...
echo "存在";
} else {
# code...
echo "不存在";
}

//unset()销毁变量
$a =1;
unset($a);//销毁变量a
if (isset($a)) {
# code...
echo "存在";
} else {
# code...
echo "不存在";
}

//empty()
$v=1;
if (empty($v)) {
# code...
echo '存在';
} else {
# code...
echo "不存在";
}

//echo
$b=1;
$arr = array(1,2,3);
echo $b,$arr;//打印结果b=1,但是$arr是数组,echo打印会报错Notice: Array to string conversion 
//var_dump()
var_dump($arr,$b);//var_dump可以打印复合型的数据,所以可以打印数组

php学习之php基础语法

吾爱乐享阅读(1621)

1.php标识符

  • 标准标识符:<?php ?>
  • 短标签风格:<? ?>
  • script风格:<script language=”php”>code;</script>
  • asp风格:<% code;%>

1.1标准标识符

语法:<?php code;?>

说明:php语言自己的标识符,推荐使用,如果当前php标识符里面只有php代码,可以省略结束标识符”?>”

案例:

1.2 短标签风格

语法:<? code;?>

说明:这种风格方法默认是不开启的,需要在php.ini中开启功能,所以不推荐使用,改short_open_tag=no即可,改完之后重启php服务器

案例:

1.3 script风格

语法:<script language=”php”>code;</script>

说明:模仿jsp的风格

案例:

1.4 asp风格

语法:<%code; %>

说明:这种风格的方法默认是不能使用的,需要在php.ini中开启功能,所以不推荐使用,改完之后重启php服务器

案例:

2.php分割指令—–分号

说明:在php语言中分为两大类,一种是控制型语句,这种语句只是定义当前代码是如何运行的方式,如:流程控制语句、定义函数、定义类等,所以这种控制语句是不写分号结束的,另一种是功能语句,如:变量声明、输出、调用函数、声明对象等,只要是功能语句必须使用分号结束

如果是最后一行,可以不写分号

案例:

3.php程序注释

说明:注释是可以对当前文件或当前某些代码进行说明的一种方式,也可以在调试代码时使用,把某些代码直接注释掉而不是删除

注释分为两类,单行注释和多行注释

  • 单行注释:
  • 多行注释:

4.html和php的混合模式

说明:php的代码时不能写入到html中的,需要用php的标识符隔开,php代码只能在php文件中运行,不能写入到其他文件中,html代码可以写到php文件中,直接写入到php文件的方式不在推荐使用,可以使用引入的方式把html文件引入到php文件中执行

php学习之php操作MySQL的数据的操作

吾爱乐享阅读(1467)

1.添加信息

1.创建data.php文件,设置添加用户信息的超链接

2.创建add_user_info.php,创建用户信息表单

3.创建user_info_db.php文件,接收提交的表单信息并处理

2. 查询数据

修改data.php文件,获取数据库数据,显示到对应的位置

3.分页

说明:分页是根据limit获取数据数量显示到页面中一种方式

需要:

  • 页码
  • 每页显示的数量
  • 偏移量:(当前页码-1)*每页显示数量
  • limit 偏移量,数量
  • 最大页码:ceil(总数/每页显示数量);

1.把超链接设置成分页的页码

2.通过超连接的页码进行数据库操作

4.删除数据

修改超链接,传递一个要删除数据的id

创建delete.php文件,接收传递过来的id对数据进行操作

5.修改数据

通过修改的超链接传递id到修改页面

接收id并对数据显示到表单中,然后修改对应的内容

获取表单并修改。创建update.php

php学习之php操作MySQL的表的操作

吾爱乐享阅读(1832)

1,创建表

创建createtable.php文件,用来处理接收表单的数据

2.查询表

在创建的create_table.php中获取数据库中的表,显示在对应的位置

3.删除表

通过超链接传递删除信息

创建droptable.php文件接收删除按钮传输过来的信息

4.修改表

1.用超链接传递需要修改的信息

2.创建altertable.php文件,用来接收传递过来的数据表名,并提交新的表名

3.创建altertb.php文件 用来接收传递过来的修改信息

 

推荐免费资源共享,个人经验总结学习

联系我们联系我们