php数组倒序-PHP数组相关操作

简介:PHP字段的相关操作

索引数组

索引是一个整数,如果没有指定索引值,则默认为零并顺序递增。

//索引数组 $array1 = array('a', 'b', 'c', 'd');

关联数组

数组的键是一个字符串。

//关联数组 $arr2 = array(        "a" => 1,        "b" => 2,        "c" => 3,      "d" => 4, );

多维数组

//二维数组 $cars = array (     array("Volvo", 22, 18),     array("BMW", 15, 13),     array("Saab", 5, 2),     array("Land Rover", 17, 15), );

复合场

//二维复合数组 $ret = array(     'id' => 2,     'name' => '算法',     'children' => array(             array('id' => 5, 'name' => 'QUERY处理'),             array('id' => 6, 'name' => 'URL处理'),             array('id' => 7, 'name' => '内容处理'),             array('id' => 8, 'name' => '统计计算'),         ), );

range 函数创建索引数组

此函数创建一个包含从低到高(含)的整数或字符的字段。 如果 high 小于 low,则返回相反顺序的字段。

range(low,high,step) $array = range(0,5);//0,1,2,3,4,5 $array = range(0,50,10);//0,10,20,30,40,50 $array = range("a","d");//a,b,c,d

for 循环遍历索引数组

$arr = array(1, 2, 3, 4); for ($i = 0; $i < count($arr); $i++) {     echo $arr[$i];//1234 };

foreach 循环遍历字段

$arr = array(     "a" => 1,     "b" => 2,     "c" => 3,     "d" => 4, ); foreach ($arr as $key => $value) {     var_dump($key . '=>' . $value);//a=>1b=>2c=>3d=>4 }

每个函数都会迭代字段

each()函数返回当前元素的键值和键名,并向前连接内部指针,在有四个元素的字段中会返回该元素的键值和键名。 两个元素(1 和 Value)包含通配符,两个元素(0 和 Key)包含键值。 如果内部指针跨越链表范围,函数将返回FALSE。

$sports = array('ball' => 'good', 'swim' => 'well', 'run' => 'bad');   while ($elem = each($sports)) {       echo $elem[0] . ': ' . $elem[1];//ball: goodswim:wellrun: bad       echo $elem['key'] . ': ' . $elem['value'];//ball: goodswim:wellrun: bad }

list() with every 遍历字段

与 array() 一样,列表实际上并不是一个函数,而是一种语言结构。 list() 在一次操作中形式化一组变量。

$sports = array('ball' => 'good', 'swim' => 'well', 'run' => 'bad');   for (; list($key, $value) = each($sports);) {       echo $key . ': ' . $value;//ball: goodswim:wellrun: bad }

作业添加

将 $arr[key] = value 直接分配给数组变量。

$arr['a'] = 1; var_dump($arr);//'a'=>1

添加方括号[]

如果方括号中没有指定索引值,则取当前最大整数索引值,新的键名将是该值加1。如果还没有整数索引,键名将为0。

//关联数组 $arr2 = array(        "a" => 1,        "b" => 2,        "c" => 3,      "d" => 4, );

使用 array_push() 函数

array_push() 函数将一个或多个元素添加(堆叠)到第一个参数中字段的末尾,并返回新字段的厚度。 该函数相当于多次调用$array[] = $value。

注意:即使形参中有字符串键值,您添加的元素也始终是数字键。

注意:如果使用 array_push() 删除链表中的一个单元,最好使用 $array[] = ,因为没有调用该函数的额外负担。

注意:如果第一个参数不是链表,则 array_push() 将发出警告。 这与 $var[] 的行为不同,$var[] 创建一个新的链表。

//关联数组 $arr2 = array(        "a" => 1,        "b" => 2,        "c" => 3,      "d" => 4, );

使用 array_unshift() 函数在链表开头添加元素

array_unshift() 函数用于向链表中插入新元素。 新链表的值将被插入到链表的开头。 添加的元素是作为一个整体添加的,这些元素在链表中的顺序与参数中的顺序相同。 该函数返回链表中元素的数量。

//关联数组 $arr2 = array(        "a" => 1,        "b" => 2,        "c" => 3,      "d" => 4, );

使用 unset() 函数

销毁指定的变量。

该函数允许取消链表中的键值。 需要注意的是,链表不会重建索引。 如果需要重新索引,可以使用 array_values() 函数。

//关联数组 $arr2 = array(        "a" => 1,        "b" => 2,        "c" => 3,      "d" => 4, );

使用 array_splice() 函数

array_splice() 函数从链表中删除所选元素并用新元素替换它。 该函数还将返回一个包含已删除元素的链表。

数组 array_splice ( 数组 &$input , int $offset [, int $length [, 数组 $replacement ]] )

array_splice() 删除输入数组中由偏移量和长度指定的单位,如果提供了 replacement 参数,则将其替换为替换数组中的单位。 返回包含已删除单元格的链接列表。 请注意,输入中的数字键不会被保留。 如果 offset 为正,则删除从输入数组中该值指定的偏移量开始。 如果偏移量为负php数组倒序,则从输入末尾向下计数的该值指定的偏移量处开始移除。

//关联数组 $arr2 = array(        "a" => 1,        "b" => 2,        "c" => 3,      "d" => 4, );

如果省略 length,则删除链表中从 offset 到末尾的所有部分。 如果指定长度且为正数,则删除这么多单元格。 如果指定了length且为负值,则删除从链表尾部offset到倒计时长度之间的所有元素。 提示:当您想要在给出替换时删除从偏移量到列表末尾的所有元素时,请使用 count($input) 作为长度。

//关联数组 $arr2 = array(        "a" => 1,        "b" => 2,        "c" => 3,      "d" => 4, );

如果给出了替换数组,则删除的单元格将替换为该字段中的单元格。 如果 offset 和 length 的组合导致没有值被删除,则替换数组中的元素将被插入到 offset 指定的位置。

//关联数组 $arr2 = array(        "a" => 1,        "b" => 2,        "c" => 3,      "d" => 4, );

array_pop() 删除链表的最后一个元素

返回链表的最后一个值。 如果链表为空,或者没有链接,则返回NULL。

//关联数组 $arr2 = array(        "a" => 1,        "b" => 2,        "c" => 3,      "d" => 4, );

array_shift() 删除链表的第一个元素

array_shift() 函数删除链表中的第一个元素并返回被删除元素的值。

//关联数组 $arr2 = array(        "a" => 1,        "b" => 2,        "c" => 3,      "d" => 4, );

如果键是数字,则所有元素都会获得一个新键php数组倒序,从 0 开始并以 1 递增。

//关联数组 $arr2 = array(        "a" => 1,        "b" => 2,        "c" => 3,      "d" => 4, );

使用键值来改变

//二维数组 $cars = array (     array("Volvo", 22, 18),     array("BMW", 15, 13),     array("Saab", 5, 2),     array("Land Rover", 17, 15), );

sort()函数对链表进行升序排序

按字母顺序逆序对链表的元素进行排序

//二维数组 $cars = array (     array("Volvo", 22, 18),     array("BMW", 15, 13),     array("Saab", 5, 2),     array("Land Rover", 17, 15), );

按字母顺序逆序对链表的元素进行排序

//二维数组 $cars = array (     array("Volvo", 22, 18),     array("BMW", 15, 13),     array("Saab", 5, 2),     array("Land Rover", 17, 15), );

rsort()函数对链表进行降序排序

//二维数组 $cars = array (     array("Volvo", 22, 18),     array("BMW", 15, 13),     array("Saab", 5, 2),     array("Land Rover", 17, 15), );

asort() 函数按值对链表进行排序

//二维数组 $cars = array (     array("Volvo", 22, 18),     array("BMW", 15, 13),     array("Saab", 5, 2),     array("Land Rover", 17, 15), );

ksort()函数对链表按键进行排序

//二维数组 $cars = array (     array("Volvo", 22, 18),     array("BMW", 15, 13),     array("Saab", 5, 2),     array("Land Rover", 17, 15), );

arsort() 函数对值进行逆序排序

//二维数组 $cars = array (     array("Volvo", 22, 18),     array("BMW", 15, 13),     array("Saab", 5, 2),     array("Land Rover", 17, 15), );

krsort() 函数以相反的顺序对键进行排序

//二维数组 $cars = array (     array("Volvo", 22, 18),     array("BMW", 15, 13),     array("Saab", 5, 2),     array("Land Rover", 17, 15), );

array_multisort() 函数对多维链表进行排序

array_multisort() 可用于一次对多个字段进行排序,也可用于按某个维度或多个维度对多维字段进行排序。 参数中的字段被视为表的列并按行排序,类似于SQL的ORDER BY子句的功能。 第一个字段是排序的主要字段。 数组中比较相等的行(值)按下一个输入字段中相应值的大小排序,依此类推。

//二维数组 $cars = array (     array("Volvo", 22, 18),     array("BMW", 15, 13),     array("Saab", 5, 2),     array("Land Rover", 17, 15), );

array_keys()函数获取链表key集合

array_keys() 函数返回一个新的链表,其中包含字段中的所有键。

//二维数组 $cars = array (     array("Volvo", 22, 18),     array("BMW", 15, 13),     array("Saab", 5, 2),     array("Land Rover", 17, 15), );

array_values() 获取链表值的集合

array_values() 函数返回一个包含给定链表中所有通配符的字段,但不保留键值。

//二维复合数组 $ret = array(     'id' => 2,     'name' => '算法',     'children' => array(             array('id' => 5, 'name' => 'QUERY处理'),             array('id' => 6, 'name' => 'URL处理'),             array('id' => 7, 'name' => '内容处理'),             array('id' => 8, 'name' => '统计计算'),         ), );

array_unique() 函数删除重复元素

array_unique() 函数删除链表中的重复值并返回结果字段。 当几个数组元素的值相等时,只保留第一个元素,其他元素被删除。 返回字段中的键值不变。

//二维复合数组 $ret = array(     'id' => 2,     'name' => '算法',     'children' => array(             array('id' => 5, 'name' => 'QUERY处理'),             array('id' => 6, 'name' => 'URL处理'),             array('id' => 7, 'name' => '内容处理'),             array('id' => 8, 'name' => '统计计算'),         ), );

array_merge() 合并字段

array_merge() 将一个或多个字段的元素合并在一起,将链表中的值添加到前一个字段的前面。 返回作为结果的字段。 如果输入的字段具有相同的字符串键值,则该键旁边的值将覆盖先前的值。 但是,如果链表包含数字键值,则后面的值不会覆盖原始值,而是会追加到其后面。 如果仅给出一个链表并且对该字段进行数字索引,则键将以连续形式重新索引。

//二维复合数组 $ret = array(     'id' => 2,     'name' => '算法',     'children' => array(             array('id' => 5, 'name' => 'QUERY处理'),             array('id' => 6, 'name' => 'URL处理'),             array('id' => 7, 'name' => '内容处理'),             array('id' => 8, 'name' => '统计计算'),         ), );

array_slice() 截取字段片段

开始,起始位置。 0 = 第一个元素。

保留,可选。 指定函数是保留密钥还是重置密钥。 真假

array_slice(数组、开始、长度、保留)

//二维复合数组 $ret = array(     'id' => 2,     'name' => '算法',     'children' => array(             array('id' => 5, 'name' => 'QUERY处理'),             array('id' => 6, 'name' => 'URL处理'),             array('id' => 7, 'name' => '内容处理'),             array('id' => 8, 'name' => '统计计算'),         ), );

未完成,待补充...

以上就是小编给大家介绍的《PHP数组的相关操作》。 希望对您有所帮助。 如果您有疑问,请给我留言,编辑会及时回复您。 非常感谢您对马农网的支持!