21,886
社区成员
发帖
与我相关
我的任务
分享
<?php
$contact=array(1,14=>"高某","A公司","北京市",14=>"(010)98765432","gao@php.com");
$num=0;
foreach($contact as $value)
{
echo"在数组\$contact中第".$num."个元素是:$value<br>";
$num++;
}
?>
$contact = array(
1,
14 => "高某",
"A公司",
"北京市",
14 => "(010)98765432",
"gao@php.com");
// 格式化打印出来,如下:
echo '<pre>';print_r($contact);
/*
Array
(
[0] => 1
[14] => (010)98765432
[15] => A公司
[16] => 北京市
[17] => gao@php.com
)
*/
// 由此可以看出后面的“(010)98765432”将前面的“高某”覆盖了,这是为什么呢?因为php中同维度数组中不允许存在相同的键,你可以将键看成人的身份证号码,值看成是人的名字,名字有相同而身份证号不会有相同。之后数组变成如下:
$contact=array(1,14=>"(010)98765432","A公司","北京市","gao@php.com");
//这个时候因为"A公司","北京市","gao@php.com"这三个在键14的后面,那么它们的键不会再从1开始了,而是接着14开始,也就是15
//咱们再看个例子(将"A公司"移动到1的后面):
$contact=array(1,"A公司",14=>"(010)98765432","北京市","gao@php.com");
echo '<pre>';print_r($contact);
//结果输出如下:
/*
Array
(
[0] => 1
[1] => A公司
[14] => (010)98765432
[15] => 北京市
[16] => gao@php.com
)
*/