PHP&MySQL(三)——数组

  前一段忙着比赛忙着找实习,最后一地鸡毛,就是长长教训罢了。。。。

看书还是多必须的,试着高效的、踏实的做吧!!

  1 <?php
  2 //PHP数组其实能创建很多种数据结构,列表,堆栈,队列,树等
  3 //数组创建array_fill
  4 $start_index=1;
  5 $num=10;
  6 $value="fuck";
  7 $array1=array_fill($start_index, $num, $value);
  8
  9
 10 print_r($array1);echo "<hr/>";
 11
 12 print count($array1); echo "<br/>"; //count计数实现,返回一个数,代表数组长度
 13 //print_r(array_count_values($array1));
 14
 15 //移除元素
 16 unset($array1[3]);
 17 $array2=$array1;
 18 //unset($array1);
 19 print_r($array1);echo "<hr/>";
 20
 21 $start="a";
 22 $limit="z";
 23 $array_letters=range($start, $limit);
 24 print_r($array_letters);echo "<hr/>";
 25
 26 //异构数组,即数组中有各种类型的
 27 $array_yigou=array("fuck",1,23.343,false);
 28 var_dump($array_yigou);echo "<hr/>";
 29
 30 //多维数组
 31 $array_dimensions=array($array1,$array_yigou);
 32 var_dump($array_dimensions);
 33 echo $array_dimensions[1][2];echo "<hr/>";
 34
 35 $array_complicated=array($array_dimensions,$array_yigou);
 36 var_dump($array_complicated);echo "<hr/>";
 37
 38 //foreach,一开始我理解上有点问题,foreach本来就是一个循环了!!!
 39 foreach ($array1 as $person => $saying){
 40     print "No.".$person." says ".$saying."!"."<br/>";
 41 }
 42
 43 //比较适合foreach理解的一种方式
 44 foreach ($array1 as $person => $saying){
 45     print "No.".$person." said ".$saying."!"."<br/>";
 46     print "No.".$person." says ".$saying."!"."<br/>";
 47     print "No.".$person." says ".$saying."!"."<br/>";
 48     print "No.".$person." says ".$saying."!"."<br/>";
 49     print "No.".$person." says ".$saying."!"."<br/>";
 50     print "No.".$person." says ".$saying."!"."<br/>";
 51     print "No.".$person." says ".$saying."!"."<br/>";
 52     print "No.".$person." says ".$saying."!"."<br/>";
 53     print "No.".$person." says ".$saying."!"."<br/>";
 54     print "No.".$person." says ".$saying."!"."<br/>";
 55 }
 56
 57 echo "<hr/>";
 58
 59 //数组计数
 60 //array_count_values返回一个数组,统计(!!)每个value的个数
 61 $array1Value=array_count_values($array1);
 62 print_r($array1);echo "<br/>";
 63 print $array1Value["fuck"];
 64 //count计数的是“个体”的数目吧
 65 print "There is ".count($array_letters)." letters.";
 66
 67 echo "<hr/>";
 68
 69 //神奇的explode和implode
 70 //就是字符串的拆解和安装
 71 //注意一定要有glue或者什么,不能不输入
 72 $sentence="What is your name?";
 73 $explode_demo=explode(" ", $sentence);
 74 var_dump($explode_demo);
 75 var_dump(implode(" ", $explode_demo));echo "<hr/>";
 76
 77 //数组元素搜索判断
 78 //in_array判断是否存在,array_search返回在哪里
 79 echo in_array("fuck", $array1);
 80 $check_list="fuck you";
 81 var_dump(in_array($check_list, $array1));
 82 //in_array第三个参数为严格检查类型,默认为false
 83 $check_list2="1 is in here";
 84 var_dump(in_array($check_list2, $array_yigou,false));
 85 var_dump(in_array($check_list2, $array_yigou,true));
 86
 87 print array_search("fuck", $array1);
 88 print array_search(1, $array_yigou);
 89 //array_key_exists判断key是不是存在
 90 echo "<hr/>";
 91
 92 //直接利用key或value
 93 var_dump(array_keys($array1));
 94 var_dump(array_values($array_dimensions));echo "<hr/>";
 95
 96 //implode和array_merge
 97 var_dump(implode(" ", $array1));echo "<hr/>";
 98 var_dump(array_merge($array1,$array_letters));
 99
100 //数组排序
101 //注意排序之后,直接改变/返回到原数组
102 //sort升rsort降
103 //这里也是我第一次对PHP语言有理解的地方,各种封装好的函数,需要的就是多用,知道,然后熟练的调用
104 //自己编写的排序函数,往往没有其自带的/现成的函数效率/效果好
105 $array_num=range(2, 123,3);
106 print_r($array_num);echo "<hr/>";
107 rsort($array_num);
108 print_r($array_num);
109 sort($array_letters);
110 var_dump($array_dimensions);echo "<hr/>";
111 //关联数组,若想保持键值的关系不变,应该用asort
112 sort($array_yigou);
113 var_dump($array_yigou);
114 rsort($array_yigou,SORT_NUMERIC);
115 var_dump($array_yigou);
116 asort($array_yigou);
117 var_dump($array_yigou);
118 //ksort是根据key值来排序的
119
120 //总结_数组
121 //数组创建——array(),array_fill(),range()
122 //数组输出——var_dump,print_r
123 //数组种类——索引数组,关联数组;异构数组,多维数组
124 //数组排序——sort(),rsort(),asort(),ksort()
125 //foreach的使用
126 //implode(),explode()
127 //is_array,in_array,array_search
128 //array_count_values,count
时间: 2024-10-10 01:08:34

PHP&MySQL(三)——数组的相关文章

mysql三范式

列不可分割 数据惟一性 数据不可冗余(如果一列能被其中一列推导出来,则不可以数据列里添加上去) 有时可反3范式 mysql三范式

mysql(三) 数据表的基本操作操作

mysql(三) 数据表的基本操作操作 创建表,曾删改查,主键,外键,基本数据类型. 1. 创建表 create table 表名( 列名 类型 是否可以为空, 列名 类型 是否可以为空 )ENGINE=InnoDB DEFAULT CHARSET=utf8 例如: 类型解释: 是否可以为空: 是否可空,null表示空,非字符串 not null - 不可空 null - 可空 默认值设置 默认值,创建列时可以指定默认值,当插入数据时如果未主动设置,则自动添加默认值 create table t

mysql 以数组的形式插入更新表

在项目中用php+mysql,需要插入数据,但是数据库表字段又很长,如果用常规的insert into table (c) values ('dd')的话,将是很长的sql语句,而且一不小心,就弄错了. 所以一般都用数组来操作,好多框架都有专门的功能,例如thinkphp的表映射,可用 $result= $model->add($post) //$post为和表字段对应的数组 但是原生的怎么做,下面是我总结的,虽然看似繁琐了一点,但绝对比原来有效率:代码如下: <?php //a,b,c,d为

JavaScript基础学习(三)&mdash;数组

一.数组简介     JavaScript数组的每一项都可以保存任何类型的数据,也就是说数组的第一个位置保存字符串,第二个位置可以保存数值,第三个位置可以保存对象,而且数组的大小是可以动态调整的,即可以随着数据的添加而自动增长以扩容纳新增数据.   二.数组的操作 1.创建 //创建一个空数组 var arr = []; var arr2 = [1,true,new Date()]; arr2.length = 2; alert(arr2); //true   2.pop和push方法     

mysql三:存储引擎

一 什么是存储引擎 mysql中建立的库===>文件夹 库中建立的表===>文件 现实生活中我们用来存储数据的文件应该有不同的类型:比如存文本用txt类型,存表格用excel,存图片用png等 数据库中的表也应该有不同的类型,表的类型不同,会对应mysql不同的存取机制,表类型又称为存储引擎. 存储引擎说白了就是如何存储数据.如何为存储的数据建立索引和如何更新.查询数据等技术的实现方法.因为在关系数据库中数据的存储是以表的形式存储的,所以存储引擎也可以称为表类型(即存储和操作此表的类型) 在O

MySQL(三)

上一章给大家说的是数据库的视图,存储过程等等操作,这章主要讲索引,以及索引注意事项,如果想看前面的文章,url如下: MYSQL入门全套(第一部) MYSQL入门全套(第二部) 索引简介 索引是对数据库表中一个或多个列(例如,employee 表的姓名 (name) 列)的值进行排序的结构.如果想按特定职员的姓来查找他或她,则与在表中搜索所有的行相比,索引有助于更快地获取信息. 例如这样一个查询:select * from table1 where id=10000.如果没有索引,必须遍历整个表

[mysql]三种方法为root账户指定密码

前言:前段时间把mysql安装后一直没管它,当时就在奇怪为什么mysql登陆不要密码,原来一直用的超用户账户登陆的(简称超级用户) 其实只怪自己太无知,之前一直用的phpbydamin进行的数据库的可视化管理,哪里知道这么详细呢? 本文原文来源mysql官方文档5.1 正文:最开始可以使用SELECT User.Password FROM mysql.user查询mysql数据库root账户的密码 你可以用几种方法为root账户指定密码.以下介绍了三种方法: ·         使用SET PA

mysql三个应用场景

场景一,数据表自动备份(多个数据表字段同步等),使用触发器.如updatelog记录对资源的所有操作日志,reslastlog记录资源最后操作的日志信息.同步方式实现如下: //创建表 DROP TABLE IF EXISTS updatelog; CREATE TABLE `updatelog` ( `id` int(11) NOT NULL AUTO_INCREMENT, `resourceid` int(11) DEFAULT NULL, `log` text, `createtime`

Mysql(三)约束

一.视图 视图是虚拟的数据表,本身不存储数据,而是提供数据的逻辑 展示.       1.创建视图 create view stu_view as select s1.id, s1.name, s2.room, s2.stay_time from student s1, stay s2 where s1.id = s2.id; 创建视图后,就可以像查询数据表一样查询视图.  视图的字段就是我们从数据表中查询而来的字段. select id from stu_view   desc stu_vie

MySQL三种备份

一)备份分类 1 2 3 4 5 6 7 8 9 10 11 12 冷备:cold backup数据必须下线后备份 温备:warm backup全局施加共享锁,只能读,不能写 热备:hot backup数据不离线,读写都能正常进行 备份的数据集 完全备份:full backup 部分备份:partial backup 备份时的接口(是直接备份数据文件还是通过mysql服务器导出数据) 物理备份:直接复制(归档)数据文件的备份方式:physical backup 逻辑备份:把数据从库中提出来保存为