博客列表 >php定义数组和遍历数组 -----------2019--09--18

php定义数组和遍历数组 -----------2019--09--18

刂艹亻的博客
刂艹亻的博客原创
2019年09月18日 18:13:311252浏览

定义数组,关联数组,索引数组,二维数组,循环数组,循环二维数组,循环三维数组

实例

<?php
// 数组知识

// 定义空数组
    // 通过关键字定义
$arr = array();
    // 通过中括号定义
$arr = [];

// 一维数组,也是索引数组(所有下标都是从0开始的整数)
$arr = [1,2.3,4];
echo '<pre>';
var_dump($arr);
echo '<hr>';
/*
array(3) {
  [0]=>
  int(1)
  [1]=>
  float(2.3)
  [2]=>
  int(4)
}*/



// 关联数组 (所有下标都是自定义的 字符串 通过’=>‘箭头符号来指向 值 组成的)
$arr = ['a'=>1,'b'=>2,'c'=>'3'];
echo '<pre>';
var_dump($arr);
echo '<hr>';
/**
 * array(3) {
  ["a"]=>
  int(1)
  ["b"]=>
  int(2)
  ["c"]=>
  string(1) "3"
}
 * 
 */
// 循环遍历一维数组
foreach($arr as $k => $v){
    echo($k.'---'.$v.'<br>');
}
/**
a---1
b---2
c---3
 */
echo '<hr>';




// 二维数组--可以是由索引数组和关联数组混合组成的
$arr = [
    'a'=>['aa'=>11,'bb'=>22,'cc'=>33],
    'b'=>[111,222,333],
    [44,55,66,'qq'=>77,'ww'=>88]
];
echo '<pre>';
var_dump($arr);
echo '<hr>';
/*
array(3) {
  ["a"]=>
  array(3) {
    ["aa"]=>
    int(11)
    ["bb"]=>
    int(22)
    ["cc"]=>
    int(33)
  }
  ["b"]=>
  array(3) {
    [0]=>
    int(111)
    [1]=>
    int(222)
    [2]=>
    int(333)
  }
  [0]=>
  array(5) {
    [0]=>
    int(44)
    [1]=>
    int(55)
    [2]=>
    int(66)
    ["qq"]=>
    int(77)
    ["ww"]=>
    int(88)
  }
}
*/



// 三维数组---就是在二维数组的基础上多嵌套了一层
$arr = [
    'a'=>[
        'aa'=>['a1','a2','a3'],
        'bb'=>['b1','b2','b3'],
        'cc'=>33],
    'b'=>[111,222,333],
    [44,55,66,'qq'=>77,'ww'=>88]
];
echo '<pre>';
var_dump($arr);
echo '<hr>';
/*
array(3) {
  ["a"]=>
  array(3) {
    ["aa"]=>
    array(3) {
      [0]=>
      string(2) "a1"
      [1]=>
      string(2) "a2"
      [2]=>
      string(2) "a3"
    }
    ["bb"]=>
    array(3) {
      [0]=>
      string(2) "b1"
      [1]=>
      string(2) "b2"
      [2]=>
      string(2) "b3"
    }
    ["cc"]=>
    int(33)
  }
  ["b"]=>
  array(3) {
    [0]=>
    int(111)
    [1]=>
    int(222)
    [2]=>
    int(333)
  }
  [0]=>
  array(5) {
    [0]=>
    int(44)
    [1]=>
    int(55)
    [2]=>
    int(66)
    ["qq"]=>
    int(77)
    ["ww"]=>
    int(88)
  }
}
*/




//foreach 循环遍历三维数组数组
foreach($arr as $key => $value){
    echo($key.'-');
    foreach($value as $key2 => $value2){
        echo($key2.'--');
        // var_dump($value2);
        if(is_array($value2)){
            foreach($value2 as $key3 => $value3){
                echo($key3.'----'.$value3.'----');
            }
        }
        
    }
}

// a-aa--0----a1----1----a2----2----a3----bb--0----b1----1----b2----2----b3----cc--b-0--1--2--0-0--1--2--qq--ww--




// $a = array(
//      "one" => array(1,2,3,4),
//      "two" => array(5,6,7,8),
//      "three" => array('a','b','c','d')
//  );
//  foreach ($a as $k => $v) {
//      echo $k . '<br>';
//      print_r($v);
//      echo '<br>';
//      foreach ($a[$k] as $index => $value) {
//          echo $k . '<br>';
//          echo $index . '<br>';
//          echo $value . '<br>';
//      }
//  }

运行实例 »

点击 "运行实例" 按钮查看在线实例

总结:以上代码总结了php数组的定义方式:

    1.索引数组--所有下标都是从0开始的正整数。

    2.关联数组--所有下标都是自定义的字符串。

    1.二维数组--即在一维数组中通过增加一个一维数组定义而成的。+N就是N维数组(多为数组).

foreach(数组 as 键 =>值){循环体}的结构来循环遍历数组(取出被遍历数组中的每一个值。)键和值任选其一都可以。

数组都是键值对(键=>值)的结构,没有认为设置下标就是默认索引数组。人为设置字符串型下标,就是关联数组。在数组中。关联和索引可以同时存在;

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议