php 学习笔记 数组1
1、一般情况下$name['tom']和$name[tom]是相同的;但没有引号的键不能和常量区别开,如:define('index', 5)时;$name['tom']和$name[tom]不同
2、双引号里的变量一般要用{}括起来是好习惯,如: echo "{$name}";
3、数组 $name = array('tom', 'jim', 'alice'); 和 $username = ['tom', 'jim', 'alice'];
4、数组用 =>符号来指定一个初始值,后面的键值是连续的;
ps1:$days = array(1 =>"Mon", "Tue", "Wed", "Thu"); //Tue的键值为2,Wed的键值为3等等
Ps2:$days = array('one' => "Mon", "Tue", "Wed", "Thu"); //数组2的键值为0,数组3的键值为1
5、指定的范围:range();
ps1:$num = range(2, 5); //$num = array(2, 3, 4, 5);
ps2:$str = range(a, z); //保存了a-z的26个字母;
ps3:$num = range(5, 2); //$num = array(5, 4, 3, 2);
ps4:$str = range("abd", "zds"); //保存了a-z的26个字母,只限定第一个字符范围,数字也是
6、获得数组的大小
count()和sizeof()函数在用法和效果上是完全一样的;
如 $family = array("tom", "jim", "cherry"); $size = count($family); $size是3
7、填充数组
array_pad() 用重复的内容来创建一个数组,第一个参数是数组,第二个参数是你想让数组拥有的最少元素个数,第三个参数是每个元素的初始值;返回新数组,丢弃源数组
ps1:
$scores = array(5, 10);
$padded = array_pad($scores, 5, 0); //$padded现在是array(5, 10, 0, 0, 0);
ps2:
$padded = array_pad($scores, -5, 0); //$padded现在是array(0, 0, 0, 5, 10);
8、多维数组
要使用变量替换来访问多维数组中的元素,必须将整个元素用大括号括起来:
echo "{$num[1][0]}"; //结果为4
echo "$num[1][0]"; //结果为array[0]
9、析取多个值
要把一个数组中的所有值都复制到变量中,可以使用list()结构;
$person = arrary("tom", 35, "alice");
list($name, $age, $wife) = $person; //$name 是tom, $age是35, $wift是alice
(list()函数通常用来从一个只返回一条记录的数据库查询中提取数据,这样会把简单差uxnde数据自动赋值到一系列局部变量中。)
ps:$sql ="select name, age, wife from person where id = 2";
$result = mysql_query($sql);
list($name, $age, $wife) = mysql_fetch_assoc($result);
ps2:如果数组中的元素个数比list()中的变量个数,多余的值被忽略;如果list()中的值比数组中的多,多余的值被设置为NULL;
在list()中使用两个多多个连续的逗号来跳过数组中的值;
$values = range('a', 'e');
list($m, , $n, ,$o) = $values; //$m是”a", $n是"c", $o是"e"
php 学习笔记 数组1的更多相关文章
- Java菜鸟学习笔记--数组篇(三):二维数组
定义 //1.二维数组的定义 //2.二维数组的内存空间 //3.不规则数组 package me.array; public class Array2Demo{ public static void ...
- JavaScript学习笔记-数组
数组 数组中的每个元素的位置是索引,索引是基于32位的由0开始的数值,最大索引为(2的32次方-2),最大长度为(2的32次方-3) 数组是无类型的:元素可为任意类型:动态的:可根据需要自动增长.缩减 ...
- JavaScript学习笔记——数组
javascript数组数组是一个可以存储 一组 或是 一系列 相关数据 的 容器. 一.为什么要使用数组. (1)为了解决大量相关数据的存储和使用的问题. (2)模拟真是的世界. 二.如何创建数组 ...
- JavaScript学习笔记-数组(1)
数组是值的有序集合.每个值叫做一个元素,而每个元素在数组中有一个位置,以数字表示,称为索引.JavaScript数组是无类型的:数组元素可以是任意类型,并且同一个数组中的不同元素也可能有不同的类型.数 ...
- Java菜鸟学习笔记--数组篇(二):数组实例&args实例
基本类型实例 //1.定义一个一维数组,先声明,在分配空间 int []number;//生命,没有初始化,number=null number=new int[5];//初始化为默认值,int默认值 ...
- js学习笔记——数组方法
join() 把数组中所有元素转化为字符串并连接起来,并返回该字符串, var arr=[1,2,3]; var str=arr.join("#"); //str="1# ...
- JS学习笔记-数组
ECMAScript中没有提供类和接口等的定义,但它却是一门面向对象的语言,由于它能够通过其它 方式实现类似高级语言的面向对象功能,这些内容将在后面的文章中进行一步步的总结.此篇仅对JS中对象作简要说 ...
- PHP学习笔记-数组(1)
1-1 数组定义 1.什么是数组? 所谓数组,就是相同数据类型的元素按一定顺序排列的集合,就是把有限个类型相同的变量用一个名字命名,然后用编号区分他们的变量的集合,这个名字称为数组名,编号称为下标.组 ...
- php 学习笔记 数组3
15.使用数组 1).并集(union) array_merge(array1,array2,array3..) 函数把两个或多个数组合并为一个数组,后面覆盖前面 2). 交集(intersecti ...
- php 学习笔记 数组2
10.切割数组 array_slice(array, offset, length);返回一个由原始数组中的连续元素组成的新数组,参数1为原始数组,参数2为要复制的起始位置, 参数3要复制的个数:新数 ...
随机推荐
- 创建理想的SEQUENCE和自增长的trigger
SEQUENCE CREATE SEQUENCE TEST_SEQ START 1 --从1开始,第一个一定是NEXTVAL,因为第一个CURRVAL不好使,返回值会是1,第一个NEXTVAL相当于从 ...
- C++获取当前机器内网IP地址
/*头文件*/ #include "winsock2.h" #pragma comment(lib,"ws2_32.lib") /*Hui 获取当前服务器IP* ...
- Android PNG渐变背景图片失真问题 getWindow().setFormat(PixelFormat.RGBA_8888);
最近一个困扰很久的问题,渐变效果的png图片,设置为控件图片或background时,在eclipse上看着没有什么问题,但是在设备上运行时,可以看到明显的一圈圈的轮廓线,图片严重失真.在网上goog ...
- Structs 2
1 redirect.redirectaction和chain 的区别 当使用type="redirectAction" 或type="redirect"提交 ...
- 算法导论 6.5.9 堆实现K路归并问题
问题: 设计一个时间复杂度为O(NlogK)的算法,它能够将K个有序链表合并为一个有序链表,这里的N为所有输入链表包含的总的元素个数 分析: 该问题为经典的利用堆完成K路归并的问题: 当K个序列满足一 ...
- 实现一个简单的http请求工具类
OC自带的http请求用起来不直观,asihttprequest库又太大了,依赖也多,下面实现一个简单的http请求工具类 四个文件源码大致如下,还有优化空间 MYHttpRequest.h(类定义, ...
- Visual Studio warning MSB3270:There was a mismatch between the processor architecture of the project being built "MSIL"
Problem: There was a mismatch between the processor architecture of the project being built "MS ...
- ThinkPHP - 事务操作
/* * 添加酒店和房型 * */ public function insertAll($arr_hotel=array(),$arr_room=array()){ $model = new Mode ...
- 在Tableau中自定义版块地图 (Polygon)
在Tableau的地图报表中有一个‘Filed Map’的类型,可以根据版块来显示数据. 但实际应用中Tableau固有的版块划分可能不是我们想要的,下面介绍如何自定义版块并且用作数据分析. 自定义版 ...
- NotePad++ 配置C/C++编译环境
如果只是测试小程序可以用这种方法 比较方便,如果对于大程序建议使用专业的IDE. 经常需要写一些小程序来运行,又不想运行Visual Studio.Eclipse这样的环境,而Notepad++是一个 ...