foreach學習遇到的有關問題(細說php 兄弟連)

來源:互聯網
上載者:User
foreach學習遇到的問題(細說php 兄弟連)
書中代碼如下
PHP code
"高某","A公司","北京市",14=>"(010)98765432","[email protected]"); $num=0; foreach($contact as $value) {     echo"在數組\$contact中第".$num."個元素是:$value
"; $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//咱們再看個例子(將"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])*/
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.