首頁 後端開發 php教程 foreach学习遇到的有关问题(细说php 兄弟连)

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

Jun 13, 2016 pm 01:45 PM
gt php quot

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

PHP code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
<?php $contact=array(1,14=>"高某","A公司","北京市",14=&gt;"(010)98765432","gao@php.com");
 $num=0;
 foreach($contact as $value)
 {
     echo"在数组\$contact中第".$num."个元素是:$value<br>";
     $num++;
 }
?&gt;

登入後複製

输出结果如下:
在数组$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
】 你没的 连接符都没有。

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

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

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


$contact = array(
    1,
    14 =&gt; "高某", 
    "A公司", 
    "北京市",
    14 =&gt; "(010)98765432",
    "gao@php.com");
// 格式化打印出来,如下:
echo '<pre class="brush:php;toolbar:false">';print_r($contact);
/*
Array
(
    [0] =&gt; 1
    [14] =&gt; (010)98765432
    [15] =&gt; A公司
    [16] =&gt; 北京市
    [17] =&gt; gao@php.com
)
*/

// 由此可以看出后面的“(010)98765432”将前面的“高某”覆盖了,这是为什么呢?因为php中同维度数组中不允许存在相同的键,你可以将键看成人的身份证号码,值看成是人的名字,名字有相同而身份证号不会有相同。之后数组变成如下:
$contact=array(1,14=&gt;"(010)98765432","A公司","北京市","gao@php.com");

//这个时候因为"A公司","北京市","gao@php.com"这三个在键14的后面,那么它们的键不会再从1开始了,而是接着14开始,也就是15
//咱们再看个例子(将"A公司"移动到1的后面):
$contact=array(1,"A公司",14=&gt;"(010)98765432","北京市","gao@php.com");
echo '<pre class="brush:php;toolbar:false">';print_r($contact);

//结果输出如下:
/*
Array
(
    [0] =&gt; 1
    [1] =&gt; A公司
    [14] =&gt; (010)98765432
    [15] =&gt; 北京市
    [16] =&gt; gao@php.com
)
*/ <div class="clear">
                 
              
              
        
            </div>
登入後複製
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南 適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南 Dec 24, 2024 pm 04:42 PM

適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南

CakePHP 日期和時間 CakePHP 日期和時間 Sep 10, 2024 pm 05:27 PM

CakePHP 日期和時間

CakePHP 專案配置 CakePHP 專案配置 Sep 10, 2024 pm 05:25 PM

CakePHP 專案配置

CakePHP 檔案上傳 CakePHP 檔案上傳 Sep 10, 2024 pm 05:27 PM

CakePHP 檔案上傳

CakePHP 路由 CakePHP 路由 Sep 10, 2024 pm 05:25 PM

CakePHP 路由

討論 CakePHP 討論 CakePHP Sep 10, 2024 pm 05:28 PM

討論 CakePHP

CakePHP 快速指南 CakePHP 快速指南 Sep 10, 2024 pm 05:27 PM

CakePHP 快速指南

如何設定 Visual Studio Code (VS Code) 進行 PHP 開發 如何設定 Visual Studio Code (VS Code) 進行 PHP 開發 Dec 20, 2024 am 11:31 AM

如何設定 Visual Studio Code (VS Code) 進行 PHP 開發

See all articles