`
zccst
  • 浏览: 3319473 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

PHP之数组

    博客分类:
  • PHP
 
阅读更多
作者:zccst


5,array_merge与“+”的区别
array("a")+array("b")的结果是___
A.array("a","b")
B.array("b","a")
C.array("b")
D.array("a")
答案:D

array_merge() 将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。

如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。

如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引。
$array1 = array("color" => "red", 2, 4);
$array2 = array("a", "b", "color" => "green", "shape" => "trapezoid", 4);
$result = array_merge($array1, $array2);
print_r($result);

Array
(
    [color] => green
    [0] => 2
    [1] => 4
    [2] => a
    [3] => b
    [shape] => trapezoid
    [4] => 4
)

对于“+”
$array1 = array(0 => 'zero_a', 2 => 'two_a', 3 => 'three_a');
$array2 = array(1 => 'one_b', 3 => 'three_b', 4 => 'four_b');
$result = $array1 + $array2;
var_dump($result);

array(5) {
  [0]=>
  string(6) "zero_a"
  [2]=>
  string(5) "two_a"
  [3]=>
  string(7) "three_a"
  [1]=>
  string(5) "one_b"
  [4]=>
  string(6) "four_b"
}

区别:
merge是以后者为准(覆盖前者相同key的值),而“+”是以前者为准。


4,
array_keys($arr[,search_value, strict])  返回字符串键名(数字或字符串),组成新数组
一般用法:例子见手册

高级用法:
search_value  可选。指定值的索引(键)。
strict  可选。与 value 参数一起使用。可能的值:
    true - 根据类型返回带有指定值的键名。
    false - 默认值。不依赖类型。


3,array array_slice ( array $array , int $offset [, int $length [, bool $preserve_keys ]] )
根据 offset 和 length 参数所指定的 array 数组中的一段序列。
注意 array_slice() 默认将重置数组的键。自 PHP 5.0.2 起,可以通过将 preserve_keys 设为 TRUE 来改变此行为。
$input = array("a", "b", "c", "d", "e");

$output = array_slice($input, 2);      // returns "c", "d", and "e"
$output = array_slice($input, -2, 1);  // returns "d"
$output = array_slice($input, 0, 3);   // returns "a", "b", and "c"

// note the differences in the array keys
print_r(array_slice($input, 2, -1));
print_r(array_slice($input, 2, -1, true));

输出结果:
Array
(
    [0] => c
    [1] => d
)
Array
(
    [2] => c
    [3] => d
)
2,判断是否为数组
bool is_array($arr)//如果 var 是 array,则返回 TRUE,否则返回 FALSE。类似的有is_float()、is_int()、is_integer()、is_string() 和 is_object()
//或
(array)$arr

1,array_fill()填充数组
<?php
$a = array_fill(5, 6, 'banana');
print_r($a);
?>
结果是:
Array
(
    [5]  => banana
    [6]  => banana
    [7]  => banana
    [8]  => banana
    [9]  => banana
    [10] => banana
)
再比如,为数组赋初值$ret = array_fill(0,7,0);
这样数组$ret就有7个值,且均为0。


基础:
1,初始化 
$arr = array();

2,增加
array_push()和array_unshift()
普通数组
array_push($fruitArray, "grape", "pineapple", "tomato");

关联数组
$fruitArray = array("a"=>"grape");
array_push($fruitArray, "c"=>"grape");
或$fruitArray['d'] = "tomato";

注:关联索引和pdo中的关联数组不一样。
区别是关联数组的key不能重复,但关联索引的key可重复(实际上必须重复)。

3,删除
array_shift()
array_pop()

unset($capitals['California']);  普通数组、关联数组,二维数组的unset使用。
例如:
//unset使用实例,注unset不改变原来的index值
$data = array();
$i = 0;
foreach ($totalArr as $total){
    foreach ($fails as $fail){
    	if($fail['name'] == $total['name']){
    		$percent = sprintf( "%1\$.2f", $fail['num'] * 100 / $total['total'] );
    		array_push($data,array('name'=>$total['name'],'total'=>$total['total'],'num'=>$fail['num'],'percent'=>$percent.'%'));
    		unset($totalArr[$i]);
    	}
    }
    $i++;
}

/********************* 剩下的 **********************/
foreach ($totalArr as $t){
	array_push($data,array('name'=>$t['name'],'total'=>$t['total'],'num'=>0,'percent'=>'0.00%'));
}

print json_encode($data);

4,去掉重复值
array_unique()
例如:$a = array("a"=>"cat", "b"=>"cat"); print_r(array_unique($a));
结果是Array([a]=>cat)

5,差异化比较
array_udiff

6,排序
sort
ksort 按键名排序

互转函数
1,explode
把字符串转换成数组
例,

<?php
$str = "Hello world. It's a beautiful day.";
print_r (explode(" ",$str));
?>
输出:
Array
(
[0] => Hello
[1] => world.
[2] => It's
[3] => a
[4] => beautiful
[5] => day.
)


2,implode
把数组转换成字符串
implode(separator, array) 函数把数组元素组合为一个字符串
分享到:
评论

相关推荐

    PHP之数组学习

    首先,PHP数组的定义非常简单,它使用array()构造函数来进行定义。例如,我们可以创建一个包含数字1、3、5、7、9的一维数组,也可以创建一个空数组,还可以定义一个包含多个键值对的数组,其中键可以是数字也可以是...

    PHP的扩展, 可以跟PHP的数组一比

    PHP的扩展, 可以跟PHP的数组,因为PHP的数组是使用哈希表的, 所以内存使用比较大, 所以我用红黑树来写了一个dict的结构, 内存使用比PHP的数组少一半以上, 查询速度基本上跟PHP的数组相当, 不过插入速度稍微慢PHP的...

    PHP数组分页操作,PHP数组

    使用php数组分页实现方法,php数组操作,PHP分页

    php数组生成树

    总结一下,PHP数组生成树的核心在于理解如何利用递归函数和关联数组来构建层次结构。通过将扁平化的一维数组转换为多维树结构,我们可以更好地管理和操作具有层级关系的数据。这个无限递归子类的源代码示例展示了...

    php数组转化为js数组

    ### PHP 数组转换为 JavaScript 数组 在 Web 开发中,我们经常需要在服务器端(如 PHP)处理数据,然后将这些数据传递到客户端(如 JavaScript)进行进一步处理或显示。这种情况下,我们需要将 PHP 处理的数据格式...

    php判断是几维数组

    php判断一个数组是几维数组,一维二维多维一一判断

    PHP 数组的介绍

    在本篇文章中,我们将深入探讨PHP数组的各个方面,包括其定义、类型、操作方法以及一些实用技巧。 **1. 定义数组** 在PHP中,我们可以使用`array()`函数或者直接用方括号`[]`来创建数组。下面是一些示例: ```php...

    php的数组操作类.zip

    在PHP编程中,数组是一种非常重要的数据结构,用于存储一系列有序的数据。为了处理复杂的数组操作,开发者有时会创建自定义的类来辅助管理数组。在这个案例中,我们有一个名为"php的数组操作类"的压缩包,它提供了...

    php数组学习之一

    本篇文章将聚焦于“php数组学习之一”,深入探讨PHP数组的基础概念、类型、创建方式以及一些常用的数组操作函数。 首先,PHP中的数组分为索引数组和关联数组两种类型。索引数组是由数字索引(默认从0开始)组成的...

    php数组分页 数组分页 搜索整站

    二、PHP数组分页步骤 1. 计算总页数:首先,我们需要知道数组的总元素个数,然后根据每页显示的条目数量(例如,每页10条)来计算总页数。 ```php $total_items = count($your_array); $items_per_page = 10; $...

    php 多维数组排序

    php 多维数组排序,应用php的多维数组排序函数

    php数组操作函数

    array_change_key_case -- 返回字符串键名全为小写或大写的数组 array_chunk -- 将一个数组分割成多个 array_combine -- 创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值 array_count_values -- ...

    PHP数组的使用

    接下来,我们将通过两个实训内容来具体实践PHP数组的使用: 实训内容一: 1. 创建数组`teacher`。在PHP中,可以使用`array()`函数或者直接用方括号`[]`来创建数组。在这个例子中,我们创建一个包含三个元素的数组,...

    PHP经典实例--数组

    下面我们将详细探讨PHP数组的使用、操作和相关实例。 数组在PHP中被用来存储一系列的数据,可以是数字、字符串或其他类型的值,它们在内存中被组织成一个集合,并通过唯一的键来访问。PHP支持两种主要类型的数组:...

    PHP教程ppt数组

    php数组课件

    深入理解PHP之数组(遍历顺序)Laruence原创

    深入理解PHP数组的遍历顺序,首先需要了解哈希表的内部结构。 哈希表是一个用于存储键值对的数据结构,它的核心在于通过哈希函数将键映射到一个桶(Bucket)的索引上,从而快速访问对应的值。在PHP中,哈希表的定义...

    PHP从数组中随机选取几个值组成新的字符串(输出字符串非数组)

    这个实现起来虽然不难,但是涉及到PHP中几个不常用的函数模块,对于很多PHP新手来说还确实是一个难题,今天就给大家分享一个实例,用4行代码就可以实现让PHP随机从数组中选取几个值,然后拼接成字符串并输出。...

    PHP获取数组最大最小值例子

    在PHP编程语言中,处理数组是一项常见的任务,尤其是在数据分析、数据处理或网页开发中。本文将深入探讨如何在PHP中获取数组的最大值和最小值,通过一个...了解和熟练掌握这些基本函数是每个PHP开发者的基础技能之一。

Global site tag (gtag.js) - Google Analytics