PHP中的array数组类型分析说明

php的数组的key 可以是string类型也可以是integer类型。如果key为一个float类型,会自动的转化为integer类型。

如果没有为一个value指定一个key,integer类型的索引的最大值已经给出的话,新key就是这个最大值加1.如果这个新key已经被赋值,那么这个value将会被覆盖掉。


代码如下:

<?php
$arr = array('a','b',5=>'c','d','e',6=>'g');
echo '<pre>';
print_r($arr);
echo '</pre>';

上面代码的结果是

代码如下:

Array(
[0] => a
[1] => b
[5] => c
[6] => g
[7] => e)

这个样子。只所以没有value “d” 是因为 他被后面的6=>‘g'这个给覆盖掉了

(0)

相关推荐

  • php array_intersect()函数使用代码

    array array_intersect ( array array1, array array2 [, array ...]) array_intersect() 函数返回两个或多个数组的交集数组. array_intersect() 返回一个数组,该数组包含了所有在 array1 中也同时出现在所有其它参数数组中的值.注意键名保留不变. 下面就拿手册上的例子给大家演示: <?php $array1 = array ("a" => "green",

  • PHP array_flip() 删除重复数组元素专用函数

    说明 array array_flip ( array trans ) array_flip() 返回一个反转后的 array,例如 trans 中的键名变成了值,而 trans 中的值成了键名. 注意 trans 中的值需要能够作为合法的键名,例如需要是 integer 或者 string.如果值的类型不对将发出一个警告,并且有问题的键/值对将不会反转. 如果同一个值出现了多次,则最后一个键名将作为它的值,所有其它的都丢失了. array_flip() 如果失败返回 FALSE. 实例: 复制

  • php array_merge下进行数组合并的代码

    如 $array3=array("性别"=>"男","姓名"=>"不是女人");  $array4=array("性别"=>"不知道","长相"=>"很帅"); 哪么,合并之后,后者将会覆盖前者,这样合并之后就变成了 Array ( [性别] => 不知道 [姓名] => 不是女人 [长相] => 很帅 )

  • php array_slice函数的使用以及参数详解

    复制代码 代码如下: <?php /* 用手册上的例子 */ $input = array ("a", "b", "c", "d", "e"); $output = array_slice ($input, 2); // returns "c", "d", and "e", $output = array_slice ($input, 2,

  • mysql_fetch_assoc和mysql_fetch_row的功能加起来就是mysql_fetch_array

    mysql_fetch_assoc只能用字段,就像mysql_fetch_array($result, MYSQL_ASSOC)结果一样. mysql_fetch_row 只能是数字 加起来就是mysql_fetch_array

  • PHP array_push 数组函数

    1. $arr = array(); $arr[] = ''; 2. $arr = array(); array_push($arr,''); 刚做一个100000次的循环插入,结果还是第一种要快一些!(循环插入数字,100000次,第一种0.04左右,第二种0.08秒左右)

  • php array_flip() 删除数组重复元素

    方法如下: $arr = array(----) ;//假设有一万个元素的数组,里面有重复的元素. $arr = array_flip(array_flip($arr)); //这样便可以删除重复元素. 究竟是怎么回事呢?来看下array_flip()的作用:array_flip()用于将一个数组的每个元素的键和值交换,如: $arr1 = array ("age" => 30, "name" => "快乐园"); $arr2 = a

  • PHP array 的加法操作代码

    The + operator appends elements of remaining keys from the right handed array to the left handed, whereas duplicated keys are NOT overwritten. 今天 再次看 php manual的时候,才知道 复制代码 代码如下: <?php $a = array("a" => "apple", "b" =&g

  • php下判断数组中是否存在相同的值array_unique

    array_unique(PHP 4 >= 4.0.1, PHP 5) array_unique -- 移除数组中重复的值 说明 array array_unique ( array array ) array_unique() 接受 array 作为输入并返回没有重复值的新数组. 注意键名保留不变.array_unique() 先将值作为字符串排序,然后对每个值只保留第一个遇到的键名,接着忽略所有后面的键名.这并不意味着在未排序的 array 中同一个值的第一个出现的键名会被保留. 注: 当且

  • 深思 PHP 数组遍历的差异(array_diff 的实现)

    function array_diff($array_1, $array_2) {     $diff = array(); foreach ($array_1 as $k => $v1) {         $flag = false;         foreach ($array_2 as $v2) {             if ($flag = ($v1 == $v2)) {                 break;             }         } if (!$f

  • mysql_fetch_row,mysql_fetch_array,mysql_fetch_assoc的区别

    复制代码 代码如下: <?php $link=mysql_connect('localhost','root',"); mysql_select_db('abc',$link); $sql = "select * from book"; $result = mysql_query($sql); while($row = mysql_fetch_row($result)) { echo $row['cid'].'::'.$row[1].'<br>'; } $r

  • 介绍几个array库的新函数 php

    我们手头的PHP资料不多,大家是不是都有一份php4gb.chm.我最欣赏它里面的函数库部分了,真正的在线帮助.但是PHP发展的脚步实在太快了,你睢,我最近在www.php.net/manual/ 又找到了一些扩展的数组函数. 下面我把它们介绍给大家吧,我的英文水平不高,有译的不对的地方,请指正.  格式是这样的: 函数名 支持版本 函数声明  说明及参数.返回值 例子 OK,Let's go. //*************************  array_flip (PHP4 >= 4

  • php array_map array_multisort 高效处理多维数组排序

    对多维数组排序,通用的作法是1 获取利用排序的数据并且将其放入数组$arrSort. 其中键索引为要排序数组的索引,保证唯一性 2 利用排序函数sort等对$arrSort进行排序. 3 遍历$arrSort, 根据其索引,获取多维数组的数据,重新构造排序后的多维数组. 复制代码 代码如下: Array ( [0] => Array ( [link] => test [name] => test.rpm [type] => file [size] => 988.9k [mti

  • PHP IN_ARRAY 函数使用注意事项

    另外,我们在 控制结构比较两个数值是否一直的时候,也应该尽量使用 === 来代替 ==(当然,这个也根据具体的业务逻辑选用比较合适的). 小弟来解释下 为什么 var_dump(in_array(0, array('s' )); 这句话的结果是bool(true). 因为in_array会将0 和's' 进行比较,0是number类型,'s'是string类型,根据php manual 中"Comparison Operators" 一章的说明可知,number 和string进行 比

  • php合并数组array_merge函数运算符加号与的区别

    array_merge在参考手册中的说明如下: array_merge() 将两个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面.返回作为结果的数组. 如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值.然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面. 两个的区别是: 1.数组键名为数字键名时,要合并的两个数组中有同名数字KEY的时候,使用array_merge()不会覆盖掉原来的值,而使用"+"合并数组则会把最先出现的值作为最终

随机推荐