PHP全栈学习笔记27

数组概述,类型,声明,遍历,输出,获取数组中最后一个元素,删除重复数组,获取数组中指定元素的键值,排序,将数组中的元素合成字符串。

数组概述,数组是存储,管理和操作一组变量。

数组类型为一维数组,二维数组,多维数组。
数组分:数字索引数组和关联数组。

数字索引数组使用数字作为键名
关联数组使用字符串作为键名

遍历,输出数组
foreach和for
list()和each()
count()函数获取数组中元素的数量

list()函数将数组中的值赋予一些变量,只能用于数字索引数组
each()函数返回数组中的键名和对应的值

while(list($name,$value) = each($array)){echo $name=$value;
}

array_pop()函数可以获取并返回数组中的最后一个元素
array_push()函数向数组中添加元素
array_unique()函数可以将数组中重复的元素进行删除
unset()函数可以删除数组中的某个元素
array_search()函数可获取数组中指定元素的键名
函数区分大小写

array_keys()函数获取数组中重复元素的所有键名

排序

sort()
rsort()
ksort()
krsort()sort_regular
sort_numeric
sort_string

字符串与数组转换

explode()将字符串分割为数组
implode()将数组中的元素组合成一个新的字符串

php全局数组

$_GET[] 和 $_POST[]
$_COOKIE全局数组
$_ENV[] 全局数组用于提供与服务器有关的信息
$_FILES[] 全局数组
$_FILES["file"]["name"] 从客户端上传的文件名称
$_FILES["file"]["type"] 从客户端上传的文件类型
$_FILES["file"]["size"] 已上传文件的大小
$_FILES["file"]["tmp_name"] 文件上传到服务器后,在服务器中的临时文件名
$_FILES["file"]["error"] 返回上传过程中发生错误的代号

数组是一组数据的集合
数组是存储,管理和操作一组变量
数字索引数组和关联数组
数组名称区分大小写

move_uploaded_file()函数上传文件
array_push()函数向数组中添加元素
array_unique()函数删除数组中重复元素
array_pop()函数获取数组中最后一个元素
count()函数获取数组的元素的个数

<form action="index_ok.php" method="post" enctype="multipart/form-data" name="form1"><tr><td><input name="picture[]" type="file" id="picture[]" size="30"></td></tr>
</form>// 多图片上传
<?php
if(!is_dir("./upfile")){ // 判断服务器中是否存在指定文件夹mkdir("./upfile"); // 如果不存在,就创建文件夹
}
array_push($_FILES["picture"]["name"],"");
// 向表单提交的数组中增加一个空元素
$array = array_unique($_FILES["picture"]["name"]);
// 删除数组中重复的值
array_pop($array); // 删除数组中最后一个单元
for($i=0;$i<count($array);$i++){$path="upfile/".$_FILES["picture"]["name"][$i];if(move_uploaded_file($_FILES["picture"]["tmp_name"][$i], $path)){
// 执行文件上传操作$result = true;
}else{$result = false;}
}
if($result == true){echo "文件上传成功";}esle{echo "失败";
}
?>
<?php
// 连接数据库
$conn = mysql_connect("localhost", "root", "root");
mysql_select_db("db_database", $conn);
mysql_query("set names utf8");
$ip = $_SERVER['REMOTE_ADDR'];
$insert = "insert into tb_v(IP) values('$ip')"; // 添加数据
$select = "select * from tb_v where ip = '$ip' ";if(isset($_POST['Submit']) and $_POST['Submit'] == "提交") {$value= mysql_query(select, $conn);if(mysql_num_rows($value) == 0){$result = mysql_query($insert, $conn);if($result){echo "<script>alert('投票');window.location.href='index.php';</script>";}else{echo "";}
}else{echo "";}
}
?>

web交互

http基础
创建表单,表单元素设置,处理方法,获取表单参数,文件上传,验证,响应头信息,重定向,设置过期时间,文件下载。

表单form,会话session,重定向redirection

服务器信息

$_SERVER['DOCUMENT_ROOT'] 当前运行脚本所在的文档根目录$_SERVER['HTTP_HOST'] 当前请求的host:头信息的内容$_SERVER['PHP_SELF'] 当前正在执行脚本的文件名$_SERVER['REMOTE_ADDR'] 请求本页ip地址$_SERVER['REQUEST_URI'] 访问此页面所需的uri$_SERVER['SERVER_NAME'] 主机名$_SERVER['SERVER_SIGNATURE'] 波爱护服务器版本和虚拟主机名的字符串$_SERVER['argv'] 传递给该脚本的参数$_SERVER['argc'] 包含传递给程序的命令行参数个数$_SERVER['SERVER_PROTOCOL'] 请求页面时通信协议的名称和版本$_SERVER['REQUEST_METHOD'] 客户端获取文档的方法$_SERVER['REQUEST_TIME'] 请求开始时的时间戳$_SERVER['HTTP_ACCEPT'] 当前请求头信息的内容
<form name="form_name" method="method" action="url" enctype="value" target="target_win" id="id">
</form><input name="user" type="text" value="dashu" size="12" maxlangth="100"><input type="hidden" name="dashu"><input name="pwd" type="password" value="dashu" size="12" maxlangth="100"><input name="file" type="file" enctype="multipart/form-data" size="50" maxlength="20"><input name="imageField" type="image" scr="" width="" height="" border="0"><input name="sex" type="radio" value="1" checked>
<input name="sex" type="radio" value="0"><input name="checkbox" type="checkbox" value="1" checked>
<input name="checkbox" type="checkbox" value="1" checked>
<input name="checkbox" type="checkbox" value="0"><input type="submit" name="Submit" value="提交">
<input type="reset" name="Submit" value="重置">
<input type="button" name="Submit" value="按钮">
<select name="name" size="value" multiple>
<option value="value" selected></option>
</select>
size 列表的行数
value 值
multiple 菜单方式显示数据<textarea name="name" rows=value cols=value value="value" warp="value">
</textarea>
rows表示文本域的行数
cols表示文本域的列数
value表示文本域的默认值
warp用于设定显示和送出时的换行方式
stripslashes()函数进行转义还原
<form id="form1" name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
<tr>
<td height="30" align="center" class="STYLE1"> 用户名:
<input name="user" type="text" size="16"/></td>
<?php
if(isset($_POST['Submit'])){ // 判断登录按钮是否被设置
$user=$_POST['user']; // 获取用户名
$password = $_POST['password']; // 获取密码
if(empty($user) || empty($password)){echo "<script>alert('用户名和密码不能为空'); window.location.href='index.php'; </script>";
}else {echo "";}
}
?>
<?php
$now = time(); // 获取系统当前时间戳
$then = gmstrftime();
header("Expires:$then");//定义文档过期时间
?>

结言

好了,欢迎在留言区留言,与大家分享你的经验和心得。

感谢你学习今天的内容,如果你觉得这篇文章对你有帮助的话,也欢迎把它分享给更多的朋友,感谢。

感谢!承蒙关照!您真诚的赞赏是我前进的最大动力!

image

image

转载于:https://www.cnblogs.com/dashucoding/p/11140260.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/449068.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mac地址和ip地址的区别(转)

先纠正一下几个比较模糊的概念&#xff1a;“MAC地址表储存IP地址”&#xff0c; MAC地址表是二层设备中存储“MAC地址”和“转发端口”映射关系的表&#xff0c;并不直接存储IP地址。 “路由器根据MAC地址来选择路由进行数据发送”&#xff0c;对于三层设备的三层端口来说&…

Windows下多个JDK版本的切换方法

问题 因我之前在window中无法命令行输入&#xff0c;后来发现是电脑中存在多个JDK&#xff0c;导致设置混乱。于是&#xff0c;我继续深入研究了当电脑存在多个JDK的情况下&#xff0c;如何设置想要的JDK版本。步骤 1.更改环境变量 进入环境变量的配置界面&#xff0c;将JAVA_H…

哈哈哈,只有程序员才懂的黑色幽默 ... ...

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 也是机缘巧合&#xff0c;让我一个之前工作从未接触过程序员的人&#xff0c;现在成天和程序员打交道&#xff0c;要知道&#xff0c;不…

ONVIF Device Manager修改设备密码

这个onvif工具可以实时监控画面&#xff0c;使用起来简单方便 左侧一栏是设备信息&#xff0c;中间上半部分是设备配置设置&#xff0c;下半部分是图像预览配置设置。 修改密码可通过该工具&#xff0c;点击User management后选择用户类型并且修改密码。

mysql 数据库函数入门

转载于:https://www.cnblogs.com/hwgok/p/10816922.html

Hadoop localhost: frankxulei@localhost: Permission denied (publickey,password)

Hadoop启动HDFS进程的时候报错&#xff0c;提示权限不够&#xff0c;具体信息如图所示&#xff1a;localhost: frankxuleilocalhost: Permission denied (publickey,password). frankxuleiubuntu:/usr/local/hadoop$ sbin/start-all.shWARNING: Attempting to start all Apache…

几个sql案例

第一题 select Case When t.flag>0 Then "T" Else "F" End from (SELECT instr(TableA.col1,TableA.col2) as flag from TableA) t第三题 select s.* from student s ,(SELECT name,MAX(score) m from student GROUP BY name) t where s.name t.n…

京东购物在微信等场景下的算法应用实践

本文根据京东微信手Q业务部马老师在京东\u0026amp;DataFun Talk算法架构系列活动中所分享的《京东购物在微信等场景下的算法应用实践》编辑整理而成&#xff0c;在未改变原意的基础上稍做修改。此次分享的是以WQ&#xff08;微信手Q&#xff09;购物智能推荐系统介绍智能推荐算…

docker save 与 docker export 的区别

缘起 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 docker save和docker export都能导出镜像包&#xff0c;咋看起来区别似乎不大。本文就针对这个问题&#xff0c;试图搞清楚docker…

PS图片后期之超简易造光调色方法

技法是死的&#xff0c;而人是活的&#xff0c;说的简单一点就是我们要学会开拓一下思维&#xff0c;调色的方法并不是只有【可选颜色】而已。 在修片之前&#xff0c;我们先要学会分析&#xff0c;在拍摄这一组照片时我希望有一种夕阳的光穿透晒在脸庞的感觉&#xff0c;而左边…

在 idea 中为类和方法自动生成注释

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 项目规范中有一项常见的要求&#xff0c;在类级和方法级注释里写上创建者和创建时间&#xff0c;在方法级注释里写上创建者和维护者&…

2进制 , 8进制 , 10进制 , 16进制 , 介绍 及 相互转换 及 快速转换

为什么要使用进制数 数据在计算机中的表示&#xff0c;最终以二进制的形式存在 , 就是各种 <黑客帝国>电影中那些 0101010… 的数字 ; 我们操作计算机 , 实际 就是 使用 程序 和 软件 在 计算机上 各种读写数据, 如果我们直接操作二进制的话 , 面对这么长的数进行思考或…

python脚本调用外部程序的若干种方式以及利弊

脚本执行外部程序的常用几种方式&#xff1a; # os.popen(path)# subprocess.run(cmd,shellTrue)# subprocess.check_call(cmd,shell True)# os.system(command)# win32api.ShellExecute(0, open, path, , , 0) os.popen(path) 和 os.system(command) 这两种执行的效果是差不多…

藏经阁计划发布一年,阿里知识引擎有哪些技术突破?

为什么80%的码农都做不了架构师&#xff1f;>>> 阿里妹导读&#xff1a;2018年4月阿里巴巴业务平台事业部——知识图谱团队联合清华大学、浙江大学、中科院自动化所、中科院软件所、苏州大学等五家机构&#xff0c;联合发布藏经阁&#xff08;知识引擎&#xff09;…

Linux操作系统load average过高,kworker占用较多cpu

Linux操作系统load average过高&#xff0c;kworker占用较多cpu 今天巡检发现&#xff0c;mc1的K8S服务器集群有些异常&#xff0c;负载不太均衡。其中10.2.75.32-34&#xff0c;49的load average值都在40以上&#xff0c;虽然机器的cpu核数都是40或48核不算严重&#xff0c;但…

Linux 上 docker 安装 oracle-xe-11g

环境&#xff1a; 2G 内存&#xff0c;60G 硬盘阿里云一台&#xff08;带宽 1M&#xff09;, 配置如下图&#xff1a; 软件&#xff1a;docker Docker version 1.6.2, build 7c8fca2 相关 link docker 镜像站&#xff1a;https://store.docker.com 视频教程&#xff1a;ht…

《 Docker 技术入门与实战 》读书笔记 ( CentOS 安装 Docker )

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 PS &#xff1a;个人所有读书笔记只记录个人想要的内容&#xff0c;很可能原书大量内容没有纳入笔记中... ... 以下全文内容出自书目&…

解决 linux 下安装 node 报: command not found

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 注意&#xff1a;有时安装成功后,需要关闭xshell&#xff0c;重新启动。nvm才会生效。 1. 在 linux 下安装 node 提示 -bash: node: com…

阿里云官方网站免费套餐怎么抢

阿里云推出包含云服务器 ECS、负载均衡、云数据库 RDS、云数据库 Redis 版、云数据库 Mongodb 版、弹性公网 IP、CDN、对象存储 OSS、文件存储 NAS等40核心云产品&#xff0c;6个月免费使用何为免费套餐&#xff0c;其实就是让你先体验&#xff0c;觉得好用&#xff0c;易用&am…

elasticsearch全局analyzer声明

2019独角兽企业重金招聘Python工程师标准>>> 问题 elasticsearch从2.4升级到5.6&#xff0c;elasticsearch.yml配置中有一些analyzer配置拷贝到新版本&#xff0c;启动报错 index :analysis :analyzer :lowercase_whitespace :type : customtokenizer : myTokenizer…