PHP数组简介
Posted 佳星辰
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP数组简介相关的知识,希望对你有一定的参考价值。
一、创建数组
在php中可以使用array( [ index=>values ] )这个语言结构来声明一个数组。例如:
<?php $fruits = array ( "fruits" => array("a" => "orange", "b" => "banana", "c" => "apple"), "numbers" => array(1, 2, 3, 4, 5, 6), "holes" => array("first", 5 => "second", "third") ); ?>
说明:语法"index=>values",用逗号分隔开,定义了索引和值,索引可以是字符串或数字。如果省略索引,则会自动产生从0开始的整数索引。而且,如果定义了两个一样的索引,则后一个会覆盖前一个。
二、常见数组函数
1.array_pad( ) - 以指定长度将一个值填充进数组,语法为:
array array_pad ( array $array , int $size , $value )
函数简介:array是需要被填充的原始数组,size是填充后新数组的长度,value是将被填充的值。这个函数会返回一个填充后的数组,数组的长度为size,是在原数组的基础上填充若干个value得来的。
<?php $input = array(12, 10, 9); $result = array_pad($input, 5, 0); // result is array(12, 10, 9, 0, 0) $result = array_pad($input, -7, -1); // result is array(-1, -1, -1, -1, 12, 10, 9) $result = array_pad($input, 2, "noop"); // not padded ?>
说明:size的值很重要,如果size为正填充将在数组的右侧发生,如果size为负填充将在数组的左侧发生,如果size的绝对值小于或等于原数组的长度则不做任何填充。另外,函数只是返回一个副本数组,原始数组并不会被改变。
2.list() - 把数组中的值赋给一组变量,可以在单次操作中就为一组变量赋值,例如
<?php $info = array(‘coffee‘, ‘brown‘, ‘caffeine‘); // 列出所有变量 list($drink, $color, $power) = $info; echo "$drink is $color and $power makes it special. "; // 列出他们的其中一个 list($drink, , $power) = $info; echo "$drink has $power. "; // 或者让我们跳到仅第三个 list( , , $power) = $info; echo "I need $power! "; // list() 不能对字符串起作用 list($bar) = "abcde"; var_dump($bar); // NULL ?>
3.count() - 计算数组中的单元数目。语法:
int count ( $array [, int $mode = COUNT_NORMAL ] )
函数简介:array是要计算的数组; mode是可选参数,若设为COUNT_RECURSIVE(或),count()将递归地对数组计数。对计算多维数组的所有单元尤其有用。
<?php $food = array(‘fruits‘ => array(‘orange‘, ‘banana‘, ‘apple‘), ‘veggie‘ => array(‘carrot‘, ‘collard‘, ‘pea‘)); // recursive count echo count($food, COUNT_RECURSIVE); // output 8 // normal count echo count($food); // output 2 ?>
4.range() - 建立一个包含指定范围单元的数组,语法:
array range ( $start ,$end [, number $step = 1 ] )
函数简介:start是序列的第一个值,end则标识序列的结束,step设置生成序列的步长,应设为正数,默认为1.
<?php // step 参数 // array(0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100) foreach (range(0, 100, 10) as $number) { echo $number; } // 字符序列的使用 // array(‘a‘, ‘b‘, ‘c‘, ‘d‘, ‘e‘, ‘f‘, ‘g‘, ‘h‘, ‘i‘); foreach (range(‘a‘, ‘i‘) as $letter) { echo $letter; } ?>
5.foreach() - 该语法结构提供了遍历数组的简单方式,有两种语法:
foreach (array_expression as $value) statement
foreach (array_expression as $key => $value) statement
第一种格式遍历给定的 array_expression 数组。每次循环中,当前单元的值被赋给 $value 并且数组内部的指针向前移一步。
第二种格式做同样的事,除此之外,当前单元的键名也会在每次循环中被赋给变量 $key。
可以很容易地通过在 $value 之前加上 & 来修改数组的元素。此方法将以引用赋值而不是拷贝一个值。
<?php $arr = array(1, 2, 3, 4); foreach ($arr as &$value) { $value = $value * 2; } // $arr is now array(2, 4, 6, 8) unset($value); // 最后取消掉引用 ?>
注意:数组最后一个元素的 $value 引用在 foreach 循环之后仍会保留,建议使用unset()将其销毁。
以上是关于PHP数组简介的主要内容,如果未能解决你的问题,请参考以下文章
Android 逆向类加载器 ClassLoader ( 类加载器源码简介 | BaseDexClassLoader | DexClassLoader | PathClassLoader )(代码片段