php学习笔记
1、date用法
输出当前时间:date('Y-m-d H:i:s');
第一个参数的格式分别表示:
a - "am" 或是 "pm"
A - "AM" 或是 "PM"
d - 几日,二位数字,若不足二位则前面补零; 如: "01" 至 "31"
D - 星期几,三个英文字母; 如: "Fri"
F - 月份,英文全名; 如: "January"
h - 12 小时制的小时; 如: "01" 至 "12"
H - 24 小时制的小时; 如: "00" 至 "23"
g - 12 小时制的小时,不足二位不补零; 如: "1" 至 12"
G - 24 小时制的小时,不足二位不补零; 如: "0" 至 "23"
i - 分钟; 如: "00" 至 "59"
j - 几日,二位数字,若不足二位不补零; 如: "1" 至 "31"
l - 星期几,英文全名; 如: "Friday"
m - 月份,二位数字,若不足二位则在前面补零; 如: "01" 至 "12"
n - 月份,二位数字,若不足二位则不补零; 如: "1" 至 "12"
M - 月份,三个英文字母; 如: "Jan"
s - 秒; 如: "00" 至 "59"
S - 字尾加英文序数,二个英文字母; 如: "th","nd"
t - 指定月份的天数; 如: "28" 至 "31"
U - 总秒数
w - 数字型的星期几,如: "0" (星期日) 至 "6" (星期六)
Y - 年,四位数字; 如: "1999"
y - 年,二位数字; 如: "99"
z - 一年中的第几天; 如: "0" 至 "365"
备注:输出时间不等于系统时间原因
php配置的默认时区不对
调整php.ini文件中 date.timezone = Asia/Shanghai 时区选项
Asia/Shanghai 上海、
2、输出中文字符乱码
在文件最前面加上
header("Content-type:text/html;charset=utf-8");
3、PHP环境linux下搭建 未测试操作
4、单引号和双引号区别
$a=1
单引号含变量时,将变量当成字符串输出:echo '输出参数$a' ==> 输出参数$a
双引号含变量时,将输出变量值:echo "输出参数$a" ==>输出参数1
其他没有区别,使用时建议用单引号
5、输出文本段落
$a=<<<a //字符串开始部分 a为定义字符串名称
需要输出的文件段落 //字符串内容
可以为多行、各种符号、参数都将原样输出
a; //字符串结束
//也可以定义段落内容为HTML标签,然后输出标签,实现在PHP中嵌套HTML标签
$str=<<<mark
<script language="JavaScript" type="text/JavaScript">
alert("欢迎进入PHP编程世界");
</script>
mark;
echo $str;
6、字符串和数字相加减或拼接
传入参数分别为字符串和数字时 +号只能做算术运算
$a=10;$b='我是字符串'; $c='我还是字符串呢';
echo $a+$b; 两个字符串进行数字相加减 输出为数字 字符串转换为0: 10
echo $b+$c; 两个都为字符串时相加减 输出结果为0
echo $a.$b; 两个字符串拼接,输出为字符串: 10我是字符串
7、变量
全局变量:定义在函数外的变量,可用于除函数内,如函数内需要使用,函数内重新定义时前加上global
局部变量:函数内定义变量,仅能在函数内使用
静态变量:static $a; $a=100; 在函数作用域结束后,其值不回收
8、定义常量
define('常量名',常量值); 常量值不能改变或取消,定义常量名前不能有$符号。
例:defint('a',100); 定义常量a,其值为100
echo a; //输出常量
9、自定义数字的加密算法 p103
执行时 代码报错 错误原因:sub、text、pwd三个参数没有加引号
<?php
echo '<form action="" method=\'post\'>';
echo '数字口令:<input name="text" type="text">';
echo '<input type="submit" name="sub" value="确定">';
echo '</form>';
define('p2',3.154648);
//加密算法
function aa($a){
return $a=$a+p2;
}
//解密算法
function a2($a){
return $a=$a-p2;
}
//这里出错 提示参数sub、text、pwd 未定义
if($_POST['sub']){
echo '加密口令: '.aa($_POST['text']).'<br>';
$_SESSION['pwd']=aa($_POST['text']);
?>
<a href="1011.php">解密口令</a>
<?php
}
if(isset($_GET['pwd'])){
echo '解密口令: '.a2($_SESSION['pwd']);
}
?>
10、输出文本框,提交值判断值内容
echo '<form action="" method="post">';
echo '用户名:<input type="text" name="t1">'; //输出名字为t1的文本框
echo '密 码:<input type="password" name="pwd">'; //输出名字为pwd的密码框
echo '<input type="submit" name="sub" value="提交">'; //输出名字为sub、显示名字为提交的提交按钮
echo '</form>';
if($_POST['sub']){ //获取sub事务
if($_POST['t1']=='萧然' && $_POST['pwd']=='123456'){ //获取文本框t1和密码框pwd的值
echo '<script>alert("验证成功")</script>'; //输出弹窗
}
else{
echo '<script>alert("验证不成功,用户名或密码不匹配")</script>';
}
}
11、数组定义,读取
$a=array('萧然','张三','李四');
$b=array('是好人','是英雄','是情圣');
$c=rand(0,2);
$d=rand(0,2);
echo $a[$c].$b[$d];
12、前置运算符和后置运算符 ++$a 和$a++ 区别
++$a为先自增1后 再执行其他操作
$a++为先执行其他操作 再自增1
例: $a=1;
echo ++$a; ==>输出为2 $a=2;
echo $a++; ==>输出为1 $a=2;
13、调用其他页面函数及参数
include('101301.php'); //指定页面名称
echo $a; //输出101301.php页面参数$a;
14、php连接数据库
$conn=mysqli_connect("localhost","root","123","test1"); //连接数据库 地址,登录用户名,登录密码,连接数据库
if(!$conn){
echo '数据库连接失败';
exit(-1);
}
else{
echo '数据库连接成功';
}
$sql="insert into t1 VALUE (5,'萧然')"; //插入语句
$cr=mysqli_query($conn,$sql); //执行连接 连接数据库,执行语句
if($cr){
echo '数据插入成功';
}
else{
echo '数据插入失败!';
}
$sql="select * from t1"; //查询语句
$cr=mysqli_query($conn,$sql); //执行查询
while($rst=mysqli_fetch_array($cr)){ //将结果集读取出来,为数组参数
echo '编号:'.$rst[0].';姓名:'.$rst[1].'<br>'; //循环读取对应列
}
mysqli_close($conn); //关闭数据库连接
15、phpMyAdmin连接地址、用户名、密码配置
打开安装文件下config.inc.php文件
查找下面几个部分并修改
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['port'] = '3306';
$cfg['Servers'][$i]['user'] = '这里填写用户名';
$cfg['Servers'][$i]['password'] = '这里填写你的MySQL密码';
$cfg['Servers'][$i]['AllowNoPassword'] = true;
保存 config.inc.php 后,重启服务器即可访问 phpmyadmin 了。
16、修改MySQL字符集,让插入中文数据不显示为乱码
17、关联数组的使用
//循环获取生日
$a=array('萧然'=>'11月22日','张三'=>'10月14日','李四'=>'10月13日','王麻子'=>'10月14日'); //定义关联数组
foreach($a as $key=>$value){ //foreach循环获取数组值
if($value==date('m月d日')){ //判断是否和今天一致
echo '今天是'.$key.'的生日<br>'; //输出结果
}
}
18、switch case 用法
//输入文本框
echo '<form action="" method="post" >';
echo '你的考试得分是:<input type="text" name="t1">';
echo '<input type="submit" name="sub" value="评分">';
echo '</form>';
$b=$_POST['t1']; //获取输入值
switch($b){
case $b>90:
echo '你的考试得分为'.$b.';等级为优秀';
break;
case $b>75 && $b<=90:
echo '你的考试得分为'.$b.';等级为良好';
break;
case $b>=60 && $b<=75:
echo '你的考试得分为'.$b.';等级为及格';
break;
case $b<60 && $b>0:
echo '你的考试得分为'.$b.';等级为不及格';
break;
default:
echo '你输入的成绩不合法,请重新输入';
}
19、图片验证码 未理解
header("Content-Type:image/jpg");
$image=imagecreate(300,80);
$bgcolor=imagecolorallocate($image,200,60,90);
$write=imagecolorallocate($image,0,0,0);
imagestring($image,5,80,30,"I Like PHP",$write);
imagejpeg($image);
imagedestroy($image);
20、定义表格 定义10行20列表格
for($a=1;$a<10;$a++){
echo '<table border="1" cellspacing="0">';
echo '<tr>';
for($b=1;$b<10;$b++){
echo '<td>';
echo '这是第'.$a.'行,第'.$b.'列';
echo '</td>';
}
echo '</tr>';
echo '</table>';
}