[完]PHP Array 创建、索引、添加、删除、判断是否存在指定元素
2016-09-14 17:12
555 查看
PHP中的数组实际上是一个有序映射。映射是一种把values关联到keys的类型。此类型在很多方面做了优化,因此可以把它当成真正的数组,或列表(向量),散列表(是映射的一种实现),字典,集合,栈,队列以及更多可能性。数组元素的值也可以是另一个数组。树形结构和多维数组也是允许的。
结果:
结果:
$arr[]=与array_push()效果相同,但是其效率比array_push()高出将近一倍!
结果:
结果:
结果:
结果:
[参考] http://blog.csdn.net/th362cn/article/details/8575344
[参考] http://www.php100.com/cover/php/18.html
[参考] http://www.php100.com/cover/php/155.html
[参考] http://zhidao.baidu.com/link?url=m0sLyMWFeR3Q5LT_3BN1i44wXWJ6E67YrJoamnLEO3Xfe61ylBW4x7KcFsA8-bdZIdbLqE4zz8OHke65guWHpK
创建Array
// 创建一个简单的数组 $array = array(1, 2, 3, 4, 5); print_r($array); // 现在删除其中的所有元素,但保持数组本身不变: foreach ($array as $i => $value) { unset($array[$i]); } print_r($array); // 添加一个单元(注意新的键名是 5,而不是你可能以为的 0) $array[] = 6; print_r($array); // 重新索引: $array = array_values($array); $array[] = 7; print_r($array);
结果:
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 ) Array ( ) Array ( [5] => 6 ) Array ( [0] => 6 [1] => 7 )
数组索引
语法“index=>values”,用逗号分开,定义了索引和值。索引可以是字符串或数字。如果省略了索引,会自动产生从0开始的整数索引。如果索引是整数,则下一个产生的索引将是目前最大的整数索引+1。注意如果定义了两个完全一样的索引,则后面一个会覆盖前一个。$fruits = array ( "fruits" => array("a" => "orange", "b" => "banana", "c" => "apple"), "numbers" => array(1, 2, 3, 4, 5, 6), "holes" => array("first", 5 => "second", "third") ); print_r($fruits); $array = array(1, 1, 1, 1, 1, 8 => 1, 4 => 1, 19, 3 => 13); print_r($array); # 从1开始索引 $firstquarter = array(1 => 'January', 'February', 'March'); print_r($firstquarter); $foo = array('bar' => 'baz'); echo "Hello {$foo['bar']}!"; // Hello baz!
结果:
Array ( [fruits] => Array ( [a] => orange => banana [c] => apple ) [numbers] => Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 ) [holes] => Array ( [0] => first [5] => second [6] => third ) ) Array ( [0] => 1 [1] => 1 [2] => 1 [3] => 13 [4] => 1 [8] => 1 [9] => 19 ) Array ( [1] => January [2] => February [3] => March ) Hello baz!
数组末尾添加元素array_push()
[b]array_push()将array当成一个栈,并将传入的变量压入array的末尾。array的长度将根据入栈变量的数目增加。$arr[]=与array_push()效果相同,但是其效率比array_push()高出将近一倍!
$arr = array(); array_push($arr, 1, 2, 3); print_r($arr); $arr = array(); $arr[] = 1; $arr[] = 2; $arr[] = 3; print_r($arr);
结果:
Array ( [0] => 1 [1] => 2 [2] => 3 ) Array ( [0] => 1 [1] => 2 [2] => 3 )
删除数组末尾的一个元素array_pop()
array_pop() 弹出并返回array数组的最后一个单元,并将数组array的长度减一。如果array为空(或者不是数组)将返回NULL。$arr1 = array("a", "b","c","d"); $temp = array_pop($arr1); print_r($arr1); print_r($temp);
结果:
Array ( [0] => a [1] => b [2] => c ) d
在数组的开始添加一个或多个元素array_unshift()
array_unshift() 将传入的单元插入到 array 数组的开头。注意单元是作为整体被插入的,因此传入单元将保持同样的顺序。所有的数值键名将修改为从零开始重新计数,所有的字符串键名保持不变。$arr1 = array("c","d"); array_unshift($arr1,"a","b"); print_r($arr1);
结果:
Array ( [0] => a [1] => b [2] => c [3] => d )
删除数组第一个元素array_shift()
array_shift()将array的第一个单元移出并作为结果返回,将array的长度减一并将所有其它单元向前移动一位。所有的数字键名将改为从零开始计数,文字键名将不变。如果array为空(或者不是数组),则返回NULL。$arr1 = array("a","b","c","d"); echo (array_shift($arr1)). "\n"; print_r($arr1);
结果:
a Array ( [0] => b [1] => c [2] => d )
数组中是否存在指定的元素in_array()
in_array()函数在数组中搜索给定的值,in_array(value,array,type),如果给定的值value存在于数组array中则返回true。如果第三个参数设置为true,函数只有在元素存在于数组中且数据类型与给定值相同时才返回true。$people = array("Peter", "Joe", "Glenn", "Cleveland"); if (in_array("Glenn",$people)) { echo "Match found"; } else { echo "Match not found"; }
[参考] http://blog.csdn.net/th362cn/article/details/8575344
[参考] http://www.php100.com/cover/php/18.html
[参考] http://www.php100.com/cover/php/155.html
[参考] http://zhidao.baidu.com/link?url=m0sLyMWFeR3Q5LT_3BN1i44wXWJ6E67YrJoamnLEO3Xfe61ylBW4x7KcFsA8-bdZIdbLqE4zz8OHke65guWHpK
相关文章推荐
- Android应用添加(创建)和删除及判断是否存在桌面快捷方式
- Android应用添加(创建)和删除及判断是否存在桌面快捷方式
- Android应用添加(创建)和删除及判断是否存在桌面快捷方式
- Android应用添加(创建)和删除及判断是否存在桌面快捷方式
- MySQL存储过程----创建索引前,先判断索引是否已经存在,如果存在,则不添加,如果不存在,添加
- Android应用添加(创建)和删除及判断是否存在桌面快捷方式
- MySQL存储过程----创建索引前,先判断索引是否已经存在,如果存在,则不添加,如果不存在,添加
- Android应用添加(创建)和删除及判断是否存在桌面快捷方式
- Android添加(创建)、删除及判断是否存在桌面快捷方式的方法
- Android应用添加(创建)和删除及判断是否存在桌面快捷方式
- 数组的创建/查找数组里面的内容/添加数组中元素/使用指定的字符串把数组链接起来/判断数组内是否有指定的数组元素/四种遍历进行输出数组中的元素有哪些
- 添加(创建)和删除及判断是否存在桌面快捷方式
- 实现列表类,清空、添加、删除、查找、插入,判断元素是否存在
- [转] Android应用添加(创建)和删除及判断是否存在桌面快捷方式
- Sql Server 添加删除字段判断表或字段是否存在得到字段描述
- js javaScript array 取指定元素索引、判断是否相同、重复、过滤数据
- SQL 语句创建表 添加、删除、修改字段 表是否存在 是否存在数据
- Sql Server 添加删除字段判断表或字段是否存在得到字段描述
- ASP.NET对文件的操作,创建文件,判断文件是否存在,判断文件是否存在删除文件夹
- android点滴(24)之android 创建、删除、判断是否存在快捷方式