我的PHP之旅--数组的认识(初级)
数组
PHP的数组与swift有些许不同,分为3类(初级,以后会涉及到多维数组和数组指针等)。
- 枚举数组
- 关联数组
- 混合数组
枚举数组
枚举数组跟swift中的数组差不多:
<?php $arr = array(11, 55, "string"); // 这是枚举数组,可根据下标访问数据。 // 下标0:11 // 下标1:55 // 下标2:“string” echo arr[2]; ?>
关联数组
关联数组可以指定下标(只能是整数或字符串):
<?php
// 语法
$arr = array("name" => "alex_sk", "age" => 23); // 这是枚举数组,可根据下标访问数据。
// 下标name:"alex_sk"
// 下标age: 23
echo arr["age"]; // 可以根据指定的key来访问值
?>
混合数组
混合数组就是下标类型既有字符串又有整形:
<?php
// 语法
$arr = array("name" => "alex_sk", "age" => 23, 0, 5, 9 => 89, 55, 20 => 48); // 这是混合数组。
// 下标name :"alex_sk"
// 下标age :23
// 下标0 :0
// 下标1 :5
// 下标9 :89
// 下标10 :55
// 下标20 :48
echo arr[10];
?>
数组的创建:
<?php
// 第一种创建方式:
$arr = array("name" => "alex_sk", "age" => 23, "sex" => "男");
// 第二种创建方式:
$arr2[0] = 5; // 当arr2没有被创建的时候,PHP会自动创建,并且为0下标赋值。
$arr2["key"] = "value";
$arr2[1] = 7;
// 下标0:5
// 下标1:7
// 下标key:"value"
// 第三种创建方式:
$arr3[] = "first"; // 当arr3没有被创建的时候,PHP会自动创建,并且为0下标赋值。
$arr3[] = "second"; // $arr3[] 语句没有指定下标值,但是PHP会以最大的下标值+1来设置值
$arr3[5] = 5;
$arr3[] = 6;
// 下标0:"first"
// 下标1:"second"
// 下标5:5
// 下标6:6
?>
认识一下多维数组吧
声明方式:
<?php
// 第一种创建方式:
$arr = array(
array(1, 2, 3),
array(4, 5, 6)
);
// 下标[0][0]:1
// 下标[0][1]:2
// 下标[0][2]:3
// 下标[1][0]:4
// 下标[1][1]:5
// 下标[1][2]:6
echo arr[1][0];
// 第二种创建方式:
$arr2[][] = 3;
$arr2[][] = 4;
// 下标[0][0]:3
// 下标[0][1]:4
?>
数组的一些方法
- print_r:打印数组的方法,它会把数组中的所有成员显示的清清楚楚。
- count:返回数组的有效元素个数。
- foreach:多用于循环关联数组的循环。
<?php
$arr = [5, 68, 73];
$sum = 0;
// arr是枚举数组,可以使用for循环
for ($i = 0; $i < count($arr); $i++) {
$sum += $arr[$i];
}
// 想关联数组就无法用for循环了,可以用foreach,foreach是用数组指针遍历数组的。
$arr2 = ["name" => "alex_sk", "age" => 23, "sex" => "男"];
foreach ($arr2 as $key => $value) {
echo "{$key} is {$value} </ br>";
}
?>
我的PHP之旅--数组的认识(初级)的更多相关文章
- 阅读lodash源码之旅数组方法篇-compact和concat
鲁迅说过:只有阅读过优秀库源码的人,才能配的上是真正的勇士. compact 创建一个新数组,包含原数组中所有的非假值元素.例如false, null,0, "", undefin ...
- php初级之数组与 类初级
PHP 是后端脚本语言,回顾一下: 1.1 PHP 数组: <?php $user = array(); // 定义一个数组 $user[0] = 'zhangsan'; // 给数组赋值 $u ...
- Java基础之数组类型
对于Java,前面的一些基础概念不是很想写,看了看还是从数组开始写吧(毕竟数组是第一个引用类型,相对复杂一点),我也是学了JAVA不是很久,目前看完了JAVA的基础视频,还有JAVA疯狂讲义这本书的大 ...
- C++二维数组(指针)做参数
一.问题描述 使用C++编程过程中经常需要使用到二维数组,然而初级程序员在使用过程中经常会出错使程序崩溃.下面就二维指针的定义,初始化,以及二维指针做参数给出简单介绍. 1.二维数组的定义与初始化 在 ...
- JAVA进阶之旅(二)——认识Class类,反射的概念,Constructor,Field,Method,反射Main方法,数组的反射和实践
JAVA进阶之旅(二)--认识Class类,反射的概念,Constructor,Field,Method,反射Main方法,数组的反射和实践 我们继续聊JAVA,这次比较有意思,那就是反射了 一.认识 ...
- JAVA之旅(十七)——StringBuffer的概述,存储,删除,获取,修改,反转,将缓存区的数据存储到数组中,StringBuilder
JAVA之旅(十七)--StringBuffer的概述,存储,删除,获取,修改,反转,将缓存区的数据存储到数组中,StringBuilder 讲完String,我们来聊聊他的小兄弟 一.StringB ...
- JAVA之旅(三)——数组,堆栈内存结构,静态初始化,遍历,最值,选择/冒泡排序,二维数组,面向对象思想
JAVA之旅(三)--数组,堆栈内存结构,静态初始化,遍历,最值,选择/冒泡排序,二维数组,面向对象思想 我们继续JAVA之旅 一.数组 1.概念 数组就是同一种类型数据的集合,就是一个容器 数组的好 ...
- PHP内核之旅-5.强大的数组
PHP 内核之旅系列 PHP内核之旅-1.生命周期 PHP内核之旅-2.SAPI中的Cli PHP内核之旅-3.变量 PHP内核之旅-4.字符串 PHP内核之旅-5.强大的数组 PHP内核之旅-6.垃 ...
- 【Swift学习】Swift编程之旅---集合类型之数组(六)
swift提供了3种主要的集合类型,array,set,dictionary.本节介绍array. 数组是存储有序的相同类型的集合,相同的值可以多次出现在不同的位置. 注意: swift的Array类 ...
随机推荐
- 高灵活低耦合Adapter快速开发攻略
Android开发中经常需要使用Adapter. 传统方法是自定义一个Adapter并继承AndroidSDK内的BaseAdapter, 这种方式代码量大,耦合度高,灵活性差(各种监听事件需要对Vi ...
- git - 版本控制器(本地仓库)
本地创建仓库,然后进行管理.提交到本地仓库(不需要网络),提交到远程仓库(需要网络) 相对于svn为克隆方式,赋值的是整个仓库,svn只是复制的代码. 1.电脑新创建一个”本地仓库”空文件夹 2. ...
- aggregations 详解1(概述)
aggregation分类 aggregations —— 聚合,提供了一种基于查询条件来对数据进行分桶.计算的方法.有点类似于 SQL 中的 group by 再加一些函数方法的操作. 聚合可以嵌套 ...
- Redis Cluster踩过的坑
Redis Cluster踩过的坑请参考如下链接:http://www.iteye.com/blogs/subjects/Redis_Cluster_Devops
- Java 线程的状态
Java Thread的运行周期中, 有几种状态, 在 java.lang.Thread.State 中有详细定义和说明: NEW 状态是指线程刚创建, 尚未启动 RUNNABLE 状态是线程正在正常 ...
- java学习,从一个字符串中统计同一类型出现的次数
1.从字符串“AS345asdzf*())sddsWE”中统计大写字母.小写字母.其他类型的出现的次数 String s="AS345asdzf*())sddsWE"; int l ...
- Spark技术内幕:Client,Master和Worker 通信源码解析
http://blog.csdn.net/anzhsoft/article/details/30802603 Spark的Cluster Manager可以有几种部署模式: Standlone Mes ...
- AlwaysOn实现只读路由
1.配置只读路由 ①配置A副本的只读路由属性(ReadOnly代表‘只读意向’) ALTER AVAILABILITY GROUP [testAG] MODIFY REPLICA ON N'WIN-1 ...
- iOS推送通知流程
①注册推送通知使用方法:registerUserNotificationSettings, registerForRemoteNotifications ④APP发送deviceToken到第三方: ...
- 暑假集训(2)第五弹 ----- Who's in the Middle(poj2388)
G - Who's in the Middle Crawling in process... Crawling failed Time Limit:1000MS Memory Limit:32 ...