foreach学习遇到的问题(细说php 兄弟连)

xiaozhumt 2012-02-02 03:42:05
书中代码如下

<?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中第0个元素是:1
在数组$contact中第1个元素是:(010)98765432
在数组$contact中第2个元素是:A公司
在数组$contact中第3个元素是:北京市
在数组$contact中第4个元素是:gao@php.com

小弟对于数组array存在困惑 其键与值的问题
第0个元素是1 这个我明白 那么第1个元素为什么会跳到电话号码呢?
14=>"高某"怎么算。。 然后是公司 北京市 邮箱 为什么会跳跃 不懂 求指点

ps : 此书输出语句居然是【在数组\$contact中第$num个元素是:$value<br>】 你没的 连接符都没有。
...全文
138 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaozhumt 2012-02-02
  • 打赏
  • 举报
回复
谢谢各位 明白了 我继续往后看 嘿嘿~~
xiaozhumt 2012-02-02
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 asasdaf 的回复:]

晕,你重复定义了
array(
14=>"高某",
14=>"(010)98765432"
);
自然就被(010)98765432,覆盖了
但是按照数组的排列14=>"高某",原来排在第二个,
所以14=>"(010)98765432"排在第二个
[/Quote]
书上的例子。。不是我定义的
kyzy_yy_pm 2012-02-02
  • 打赏
  • 举报
回复


$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
)
*/
asasdaf 2012-02-02
  • 打赏
  • 举报
回复
晕,你重复定义了
array(
14=>"高某",
14=>"(010)98765432"
);
自然就被(010)98765432,覆盖了
但是按照数组的排列14=>"高某",原来排在第二个,
所以14=>"(010)98765432"排在第二个
Kogeo_Guan 2012-02-02
  • 打赏
  • 举报
回复
数组运行机制.
从左到右 按 键值生成 内容.无键值情况 则 按 数字顺序生成 键值。

以上
左到右的情况中 键值 为 14 的有2个

数组现排序 按插入情况排列
[0] = 1 (1)
[14] = 高某 (2) <- (010)98765432 (4) 覆盖 但 数组插入排序是 排 第2 的 所以现在 依然排于 2
[15] = A公司 (3)

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧