数组

PHP的数组与swift有些许不同,分为3类(初级,以后会涉及到多维数组和数组指针等)。

  1. 枚举数组
  2. 关联数组
  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

?>

数组的一些方法

  1. print_r:打印数组的方法,它会把数组中的所有成员显示的清清楚楚。
  2. count:返回数组的有效元素个数。
  3. 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之旅--数组的认识(初级)的更多相关文章

  1. 阅读lodash源码之旅数组方法篇-compact和concat

    鲁迅说过:只有阅读过优秀库源码的人,才能配的上是真正的勇士. compact 创建一个新数组,包含原数组中所有的非假值元素.例如false, null,0, "", undefin ...

  2. php初级之数组与 类初级

    PHP 是后端脚本语言,回顾一下: 1.1 PHP 数组: <?php $user = array(); // 定义一个数组 $user[0] = 'zhangsan'; // 给数组赋值 $u ...

  3. Java基础之数组类型

    对于Java,前面的一些基础概念不是很想写,看了看还是从数组开始写吧(毕竟数组是第一个引用类型,相对复杂一点),我也是学了JAVA不是很久,目前看完了JAVA的基础视频,还有JAVA疯狂讲义这本书的大 ...

  4. C++二维数组(指针)做参数

    一.问题描述 使用C++编程过程中经常需要使用到二维数组,然而初级程序员在使用过程中经常会出错使程序崩溃.下面就二维指针的定义,初始化,以及二维指针做参数给出简单介绍. 1.二维数组的定义与初始化 在 ...

  5. JAVA进阶之旅(二)——认识Class类,反射的概念,Constructor,Field,Method,反射Main方法,数组的反射和实践

    JAVA进阶之旅(二)--认识Class类,反射的概念,Constructor,Field,Method,反射Main方法,数组的反射和实践 我们继续聊JAVA,这次比较有意思,那就是反射了 一.认识 ...

  6. JAVA之旅(十七)——StringBuffer的概述,存储,删除,获取,修改,反转,将缓存区的数据存储到数组中,StringBuilder

    JAVA之旅(十七)--StringBuffer的概述,存储,删除,获取,修改,反转,将缓存区的数据存储到数组中,StringBuilder 讲完String,我们来聊聊他的小兄弟 一.StringB ...

  7. JAVA之旅(三)——数组,堆栈内存结构,静态初始化,遍历,最值,选择/冒泡排序,二维数组,面向对象思想

    JAVA之旅(三)--数组,堆栈内存结构,静态初始化,遍历,最值,选择/冒泡排序,二维数组,面向对象思想 我们继续JAVA之旅 一.数组 1.概念 数组就是同一种类型数据的集合,就是一个容器 数组的好 ...

  8. PHP内核之旅-5.强大的数组

    PHP 内核之旅系列 PHP内核之旅-1.生命周期 PHP内核之旅-2.SAPI中的Cli PHP内核之旅-3.变量 PHP内核之旅-4.字符串 PHP内核之旅-5.强大的数组 PHP内核之旅-6.垃 ...

  9. 【Swift学习】Swift编程之旅---集合类型之数组(六)

    swift提供了3种主要的集合类型,array,set,dictionary.本节介绍array. 数组是存储有序的相同类型的集合,相同的值可以多次出现在不同的位置. 注意: swift的Array类 ...

随机推荐

  1. 将Oracle表导入到Access方法,已经安装了Access但Win7提示 找不到access driver

    已经安装了Access但Win7提示 找不到access driver: 1.打开 "C:\Windows\SysWOW64\odbcad32.exe" 2.管理员cmd运行 命令 ...

  2. Ubuntu lnmp安装记录

    参考了: Ubuntu 14.04 LTS 安装 LNMP Nginx\PHP5 (PHP-FPM)\MySQL 在访问 info.php的时候,我显示的是502错误.后面我参考了: Ubuntu15 ...

  3. 面试之SQL

    1. 查询性能优化:从数据库查询数据时,你一定遇到过查询很慢的情况,请问你是怎么处理的. 答: 遇到的问题描述:是遇到过这种情况,我们给客户做过一款软件,日志库搜集了6000万条数据,显示.查询时候慢 ...

  4. 第一章 认识jQuery

    jQuery是一个优秀的JavaScript库,它凭借简洁地语法和跨平台的兼容性,极大地简化了开发人员遍历HTML文档,操作DOM,处理事件,执行动画和开发Ajax操作. jQuery优势:1.轻量级 ...

  5. SignalR 跨域设置

    参考文章:http://www.cnblogs.com/nywd/p/3691813.html 上一节,已经实现了,当前域内的通信,这一节中,介绍一下跨域的即时通信,既然要做,我们肯定要把这个推送及聊 ...

  6. Android中FTP服务器搭建入门

    http://www.2cto.com/kf/201501/374048.html http://blog.csdn.net/smile3670/article/details/44343617  有 ...

  7. Centos7最小化安装后(minimal)安装图形界面

    centos7下载地址:http://mirrors.cqu.edu.cn/CentOS/7/isos/x86_64/CentOS-7-x86_64-Minimal-1511.iso 下载后用vmwa ...

  8. 【html】【10】div布局[div水平垂直居中]

    必看参考: http://www.jb51.net/css/28259.html 让div居中对齐缩写形式为: .style{margin:0 auto;} 数字0 表示上下边距是0.可以按照需要设置 ...

  9. 函数strtok

    char* strtok(char *str, const char*delim) char *strtok_r(char *str, const char *delim, char **savept ...

  10. VIM 语法检查

    VIM Grammar Check 一.Language Tool Create by Dominique Pellé REFER:LanguageTool wikipedia REFER:Langu ...