zephir-(7)数组

#zephir-数组#

##前言## 先在这里感谢各位zephir开源技术提供者

在java和c++中几乎所有的操作都是正对于类开展的,但是在php中你们常用的处理类型是什么,当然是数组,在Zephir中提供了一种使用PHP数组的方法,那么今天就和笔者一起来学习zephir的数组相关的知识

注:笔者水平有限,说的不正确的地方希望大家多多指正,一同交流技术

附上:

喵了个咪的博客:w-blog.cn

zephir官网地址:http://zephir-lang.com/

github地址:https://github.com/phalcon/zephir

##1. 数组##

###1.1 声明数组变量 ###

数组变量可以使用关键字声明“var”或“array”:

var a = []; // 数组变量,其类型可以改变
array b = []; // 数组变量,类型不能改变

###1.2 创建数组###

创建一个数组将它们的元素包含在方括号:

//创建一个空数组
let elements = [];

//创建一个数组元素
let elements = [1, 3, 4];

//创建一个数组元素的类型不同
let elements = ["first", 2, true];

//一个多维数组
let elements = [[0, 1], [4, 5], [2, 3]];

它和PHP一样支持指定key值:

//用字符串为key创建一个数组
let elements = ["foo": "bar", "bar": "foo"];

//用数字为key创建一个数组
let elements = [4: "bar", 8: "foo"];

//创建一个混合key的数组
let elements = [4: "bar", "foo": 8];

###1.3 修改数组###

和PHP数组更新的方式相同,使用方括号:

//通过字符串key更新数组
let elements["foo"] = "bar";

//通过数字key更新数组
let elements[0] = "bar";

//更新一个多维数组
let elements[0]["foo"] = "bar";
let elements["foo"][0] = "bar";

###1.4 添加元素###

数组的元素可以向后增加如下:

//添加一个元素的数组
let elements[] = "bar";

###1.5 获取元素###

可以读取数组元素如下:

//获得elements中key为foo的值
let foo = elements["foo"];

//获得elements中key为0的值
let foo = elements[0];

##2. 总结##

本节简单的了解了一下zephir的数组操作,其实和PHP中的操作并无太大区别,下一节将讲解zephir中至关重要的class的操作,多谢大家的支持!

注:笔者能力有限有说的不对的地方希望大家能够指出,也希望多多交流!

zephir技术交流:246348908 欢迎大家的加入!

感谢zephir开发人员:

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Java & PhantomJs 实现html输出图片

    Java & PhantomJs 实现html输出图片 借助phantomJs来实现将html网页输出为图片 I. 背景 如何在小程序里面生成一张图,分享到朋...

    小灰灰
  • Java并发学习之ReentrantLock的工作原理及使用姿势

    Lock,ReentrantLock的工作原理及使用方式 jdk提供synchronized实现线程同步,但有些场景下并不灵活,如多个同步方法,每次只能有一个...

    小灰灰
  • JDK容器学习之Queue:DelayQueue

    延迟阻塞队列 DelayQueue 阻塞队列与普通队列的区别在于,当队列是空的时,从队列中获取元素的操作将会被阻塞,或者当队列是满时,往队列里添加元素的操作会...

    小灰灰
  • JDK容器学习之Queue:ConcurrentLinkedQueue

    并发安全的链表队列 ConcurrentLinkedQueue 并发安全的链表队列,主要适用于多线程环境中;底层数据结构为链表,由于队列本身频繁的出队和进队,...

    小灰灰
  • JDK容器学习之Queue: ArrayBlockingQueue

    基于数组阻塞队列 ArrayBlockingQueue 前面学习了基于数组的非阻塞双端队列ArrayDeque,其内部维护一个数组和指向队列头和队列尾索引的两...

    小灰灰
  • Java并发学习之Volatile及内存模型探究

    volatile工作原理 java编程语言允许线程访问共享变量,为了确保共享变量能被准确和一致的更新,线程应该确保通过排他锁单独获得这个变量。 Java语言...

    小灰灰
  • Java 20年:道路与梦想

    互联网与Java的诞生 1995年春天,那是我第一次亲眼见证并体验互联网的魅力,当时网景公司刚刚发布了Navigator浏览器。因为我有C语言和SQL的软件开发...

    用户1292807
  • Java并发学习之synchronized使用小结

    synchronized工作原理及使用小结 为确保共享变量不会出现并发问题,通常会对修改共享变量的代码块用synchronized加锁,确保同一时刻只有一个线...

    小灰灰
  • Java并发学习之CountDownLatch实现原理及使用姿势

    CountDownLatch实现原理及使用姿势 在并发编程的场景中,最常见的一个case是某个任务的执行,需要等到多个线程都执行完毕之后才可以进行,Count...

    小灰灰
  • Java并发学习之玩转线程池

    线程池的使用姿势 基本上实际的项目不可能离开线程池,只是看你有没有注意到罢了 作为以业务需求为驱动,最顺溜的是写if-else的码农我来说,线程池就比较高端了...

    小灰灰

扫码关注云+社区

领取腾讯云代金券