• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

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

php 搞代码 3年前 (2022-01-25) 18次浏览 已收录 0个评论

foreach学习遇到的问题(细说php 兄弟连)
书中代码如下

PHP code

<!---ecms Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><?php $contact=array(1,14=>"高某","A公司","北京市",14=>"(010)98765432","[email protected]"); $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个元素是:[email protected]

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

ps : 此书输出语句居然是【在数组\$contact中第$num个元素是:$value
】 你没的 连接符都没有。

——解决方案——————–
数组运行机制.
从左到右 按 键值生成 内容.无键值情况 则 按 数字顺序生成 键值。

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

数组现排序 按插入情况排列
[0] = 1 (1)
[14] = 高某 (2) <- (010)98765432 (4) 覆盖 但 数组插入排序是 排 第2 的 所以现在 依然排于 2
[15] = A公司 (3)
——解决方案——————–
晕,你重复定义了
array(
14=>”高某”,
14=>”(010)98765432″
);
自然就被(010)98765432,覆盖了
但是按照数组的排列14=>”高某”,原来排在第二个,
所以14=>”(010)98765432″排在第二个
——解决方案——————–

PHP code

$contact = array(    1,    14 => "高某",     "A公司",     "北京市",    14 => "(010)98765432",    "[email protected]");// 格式化打印出来,如下:echo '

';print_r($contact);/*Array(    [0] => 1    [14] => (010)98765432    [15] => A公司    [16] => 北京市    [17] => [email protected])*/// 由此可以看出后面的“(010)98765432”将前面的“高某”覆盖了,这是为什么呢?因为php中同维度数组中不允许存在相同的键,你可以将键看成人的身份证号码,值看成是人的名字,名字有相同而身份证号不会有相同。之后数组变成如下:$contact=array(1,14=>"(010)98765432","A公司","北京市","[email protected]");//这个时候因为"A公司","北京市","[email protected]"这三个在键14的后面,那么它们的键不会再从1开始了,而是接着14开始,也就是15本文来源gao@!dai!ma.com搞$$代^@码!网!搞gaodaima代码//咱们再看个例子(将"A公司"移动到1的后面):$contact=array(1,"A公司",14=>"(010)98765432","北京市","[email protected]");echo '

';print_r($contact);//结果输出如下:/*Array(    [0] => 1    [1] => A公司    [14] => (010)98765432    [15] => 北京市    [16] => [email protected])*/


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:foreach学习遇到的有关问题(细说php 兄弟连)
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址