吾爱乐享
个人学习博客

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

吾爱乐享阅读(4)

说明:数据类型就是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基础总结

吾爱乐享阅读(4)

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的预定义常量的使用

吾爱乐享阅读(11)

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

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的预定义变量的使用

吾爱乐享阅读(16)

说明:就是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的变量的使用

吾爱乐享阅读(17)

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基础语法

吾爱乐享阅读(13)

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的数据的操作

吾爱乐享阅读(13)

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的表的操作

吾爱乐享阅读(16)

1,创建表

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

2.查询表

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

3.删除表

通过超链接传递删除信息

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

4.修改表

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

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

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

 

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

吾爱乐享阅读(20)

1,添加数据库

数据库名 操作
Php07 修改 删除

1.1创建数据库

  • 创建一个ceate_database.php文件,用来显示获取到的数据库
  •  创建一个create_database.html文件用来创建数据库并提交数据表单
  • 创建一个database.php文件,用来接收提交过来的数据并处理

2.查询数据库

在create_database.php文件中,写入获取数据库资源代码,并把对应的变量写入到表格中

3.删除数据库

3.1通过超链接发送数据库名称到处理页面,修改create_database.php对应的删除的超连接

3.2创建一个drop_database.php文件,接收数据并删除数据库

4.修改数据库

4.1在create_database.php文件中修改,用超链接传递数据库名到更新页面

4.2修改跟新数据库的页面,也就是选择字符集和校对集页面。创建alter_database.php文件

4.3创建获取修改表单页面,并处理。创建alterdb.php文件

 

 

 

 

php学习之php操作MySQL

吾爱乐享阅读(23)

1.开启php操作mysql的函数库

找到php.ini,打开搜索mysql,找到extension=php_mysql.dll、extension=php_mysqli.dll、extension=php_pdo_mysql.dll找到这三个去掉前面的分号,

2.查看是否开启mysql函数库的功能

创建一个php文件,在这个文件中写入phpinfo();,查看当前文件是否有mysql

3.php操作mysql的流程

  1. 连接数据库
  2. 选择数据库并设置编码
  3. 准备sql语句
  4. 发布sql语句到mysql服务器
  5. 接收返回的结果集资源
  6. 解析结果集资源
  7. 关闭链接资源

4.具体的操作流程

1.连接数据库:mysql_connect(‘服务器地址’,’用户名’,’密码’);

2.选择数据库并设置编码

选择数据库:mysql_select_db(‘数据库名’);

bool mysql_select_db(string $database_name [,resource $link_identifier])

成功返回true,失败返回false

设置通信编码:mysql_query(‘set names urf8’);

3.准备sql语句

发送的语句分三大类:库操作、表操作、数据操作

4.发布sql语句到mysql服务器

发布sql语句函数:mysql_query(sql语句);

说明:resource mysql(string $query [, resource $link_identifier=null])

mysql_query()向指定的link_identifier关联的服务器中的当前活动数据库发送一条查询(不支持多条查询)

返回值:

mysql_query()仅对select、show、describe、explain和其他语句返回一个resource,如果查询出现错误则返回false

对于其他类型的sql语句,比如:insert、update、drop之类,mysql_query()在执行成功时返回true,出错时翻译false

5.接受返回的结果级资源

6.解析结果集资源

  • mysql_fetch_array:从结果汇总取得一行作为关联数组或者数字数组或二者皆有
  • mysql_fetch_assoc:从结果集中取得一行作为关联数组
  • mysql_fetch_rows:取得结果集中的行的数目

说明:array mysql_fetch_assoc(resource $result)

返回对应结果集的关联数组,并继续移动内部数据指针。mysql_fetch_assoc()和mysql_fetch_array()加上第二个可选参数mysql_assoc完全相同。它仅仅返回关联数组

当执行一条语句时只会打印一条语句,然后指针向后移动一次,在执行一条语句则打印出来的是第二条语句依次类推,(类似与循环中的$i++,自动加一)所以要打印出所有的数据,就要用循环语句

  • while语句:在不知道结果中有多少条数据时可用
  • for语句:必须知道结果中的数据的长度也就是个数

所以适合用while语句循环打印数据库中的数据

7.关闭连接资源

mysql_close:关闭mysql连接

说明 :在php5.5后被移除,应使用mysqli或者pdo_mysql扩展来替换

bool mysql_close([resource $link_identifier=null])