[Day2]PHP的资料型态02

PHP的资料型态

  • Array数组

    PHP中的array 实际上是一个有序映射。映射是一种把 values 关联到 keys 的类型。

    可以用 array() 方法来结构一个 array 。接受任意数量用逗号分隔的 键(key) => 值(value) 。以下范例:

    <?php
    $arry = array( 0 => 'apple', 
                   1 => 'tomato',
                   2 => 'banana',);
    echo $arry[0]; // apple
    
    // 可以使用以下短数组语法
    $arry = [ 0 => 'apple', 
              1 => 'tomato',
              2 => 'banana',];
    echo $arry[0]; // apple
    ?>
    

    没有键名的索引数组

    <?php
    $array = array("apple", "tomato", "banana", );
    var_dump($array);
    
    // 输出
    array(4) {
      [0]=>
      string(5) "apple"
      [1]=>
      string(6) "tomato"
      [2]=>
      string(6) "banana"
    }   
    ?>
    

    数组可以用在许多地方,以下有些范例

    <?php
    $map = array( 'version' => 4,
                  'OS' => 'Linux',
                  'lang' => 'english',
                  'short_tags' => true
            );
    
    // . . .完全等同於:
    $a = array();
    $a['version'] = 4;
    $a['os'] = 'Linux';
    $a['lang'] = 'english';
    $a['short_tags']  = true;
    
    unset($a['os']); // 删除 "Linux"
    ?>
    

    输出集合

    <?php
    $maps = array( 'version' => 4,
                  'OS' => 'Linux',
                  'lang' => 'english',
                  'short_tags' => true
            );
    
    foreach ($maps as $key => $value) {
        echo "$key is $value\n";
    }
    // version is 4
    // OS is Linux
    // lang is english
    // short_tags is 1
    ?>
    

    Array 是有序的。也可以使用不同的排序函数来改变顺序。

    数组排序范例

    <?php
    sort($files); // 对value排序
    print_r($files);
    ?>
    
  • Iterable可迭代对象

    它接受任何 array 或实现了 Traversable(可遍历) 接口的对象。
    这些类型都能用 foreach 迭代, 也可以和 生成器 里的 yield from 一起使用。

    <?php
      function gen(): iterable { // 建立一个可迭代生成器
          yield 1;
          yield 2;
          yield 3;
      }
      $iterable = gen(); // 实例化
      foreach($iterable as $value){
          echo "$value\n";
      }
      // 输出
      // 1
      // 2
      // 3
    
      // 答案相同
      function gen(): iterable {
          return [1, 2, 3];
      }
      $iterable = gen();
      foreach($iterable as $value){
          echo "$value\n";
      }
    ?>
    

    资料来源:https://www.php.net/manual/zh/


<<:  [30天 Vue学好学满 DAY3] 专案建置&除错套件

>>:  Day3 理解 golang slice 用法及原理 III

Day09: 【TypeScript 学起来】物件型别 Object Types : Arrays / Function

Q: 如何反驳「工程师离开电脑之後就是个废物」的这个说法? A: 不不不,很多工程师在电脑前面也是...

.Net Core Web Api_笔记05_HTTP资源操作模式Delete

一般而言会接收Id (可能是个Pk 唯一值)来进行删除操作 这里一样是新增删除action在上几篇的...

【Day19】维持连线 ─ 工具实作篇(一)

哈罗~ 我们前几天提到, 可以利用网路监听、密码破解来取得使用权限, 今天我们要来介绍可以做远端控制...

Day 28 - 新鲜人第一份工作的心得与重要性

今日的内容主要着重在第一份工作的心得,另外很多人都会说第一份工作很重要所以要好好慎选,确实也是这样不...

[Day02] Flutter GetX VScode extension & tips

今天主要介绍VSCode开发Flutter时装哪些扩充插件, 还有一些开发时会用到的小眉角,写起来稍...