快捷搜索:

可以把二维数组当成一个矩阵

1.定义数组的元素本身仍然是数组的数组成为二维数组,可以把二维数组当成一个矩阵,或者是一个具有宽度和高度或者行和列的网格。一维数组只在一行或者一列上显示,二维数组则像网格一样有好几行和好几列。2.创建一个简单的二维数组

// 第一种方式$students = array( array('aaa',18,'man'), array('bbb',19,'woman'), array('ccc',17,'man') );print_r($students);打印结果:Array ( [0] => Array ( [0] => aaa [1] => 18 [2] => man ) [1] => Array ( [0] => bbb [1] => 19 [2] => woman ) [2] => Array ( [0] => ccc [1] => 17 [2] => man ) )// 第二种方式$x=2;$y=3;$a=array_fill(0,$x,array_fill(0,$y,array;print_r; 打印结果:Array( [0] => Array ( [0] => Array  [1] => Array  [2] => Array  [1] => Array ( [0] => Array  [1] => Array  [2] => Array 

3.打印内外数组长度的方法

$students = array( array('aaa',18,'man'), //第0行 array('bbb',19,'woman'), //第1行 array('ccc',17,'man') //第2行 );echo count($students); //打印外数组长度的方法,即student的长度,是里边的三个数组,结果是3,这个是外层的数组student的个数。// count($students);通俗地讲是二维数组的行数echo count($students[1]); //3echo count($students[2]); //3echo count($students[0]); //打印内数组的长度的方法,即student的第1个元素的长度,结果是3

4.打印数组元素的方法

  • 没有键的情况
$students = array( array('aaa',18,'man',), //第0行 array('bbb',19,'woman','green'), //第1行 array('ccc',17,'man','red') //第二行);//打印二维数组的第一种方法,此方法很麻烦,适合下标为0,1,2...的情况echo $students[0][0]."|".$students[0][1]."|".$students[0][2]."<br>";echo $students[1][0]."|".$students[1][1]."|".$students[1][2]."<br>";echo $students[2][0]."|".$students[2][1]."|".$students[2][2]."<br>";//打印数组的第二种方法:for循环,两重循环打印二维数组for ($i=0; $i < count($students); $i  ) { for ($j=0; $j < count($students[$i]); $j  ) { //这里用$i的原因:就算内层数组里元素的个数各不相同也可以打印的出来 echo $students[$i][$j]."|"; } echo "<br>"; //外层循环3次,每次加1个换行}结果: aaa|18|man bbb|19|woman ccc|17|man aaa|18|man| bbb|19|woman|green| ccc|17|man|red|
  • 有自定义键的情况
$students = array( array('name'=>'aaa', 'age'=>18, 'sex'=>'man',), //第0行 array('name'=>'bbb', 'age'=>19, 'sex'=>'woman', 'color'=>'green'), //第1行 array('name'=>'ccc', 'age'=>17, 'sex'=>'man', 'color'=>'red') //第二行);// print_r($students);//第一种方法:foreachfor ($i=0; $i <count($students); $i  ) { foreach ($students[$i] as $key => $value) { //输出第0,1,2行的键和值 echo $key."--".$value."|"; //每输出一次键值打印一个| } echo "<br>"; //每输出一行打印一个换行}//第二种方法:list和eachfor ($i=0; $i <count($students); $i  ) { while (!!list($key,$value) = each($students[$i])){ //each表示取得第0行,1行,2行 echo $key.'--'.$value.'|'; } echo "<br>";}

本文由澳门新葡萄京8455官网发布于澳门新葡萄京8455官网,转载请注明出处:可以把二维数组当成一个矩阵

您可能还会对下面的文章感兴趣: