ホームページ バックエンド開発 PHPチュートリアル foreach学习遇到的有关问题(细说php 兄弟连)

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

Jun 13, 2016 am 10:07 AM
gt protected 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","[email protected]"); $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个元素是:[email protected]

小弟对于数组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",    "[email protected]");// 格式化打印出来,如下: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; [email protected])*/// 由此可以看出后面的“(010)98765432”将前面的“高某”覆盖了,这是为什么呢?因为php中同维度数组中不允许存在相同的键,你可以将键看成人的身份证号码,值看成是人的名字,名字有相同而身份证号不会有相同。之后数组变成如下:$contact=array(1,14=&gt;"(010)98765432","A公司","北京市","[email protected]");//这个时候因为"A公司","北京市","[email protected]"这三个在键14的后面,那么它们的键不会再从1开始了,而是接着14开始,也就是15//咱们再看个例子(将"A公司"移动到1的后面):$contact=array(1,"A公司",14=&gt;"(010)98765432","北京市","[email protected]");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; [email protected])*/<div class="clear">
                 
              
              
        
            </div>
ログイン後にコピー
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Huawei GT3 ProとGT4の違いは何ですか? Huawei GT3 ProとGT4の違いは何ですか? Dec 29, 2023 pm 02:27 PM

Huawei GT3 ProとGT4の違いは何ですか?

修正: Windows 11 で Snipping ツールが機能しない 修正: Windows 11 で Snipping ツールが機能しない Aug 24, 2023 am 09:48 AM

修正: Windows 11 で Snipping ツールが機能しない

iPhoneでApp Storeに接続できないエラーを修正する方法 iPhoneでApp Storeに接続できないエラーを修正する方法 Jul 29, 2023 am 08:22 AM

iPhoneでApp Storeに接続できないエラーを修正する方法

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 Jun 13, 2016 am 10:23 AM

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决

Java では、トップレベルのクラスを protected または private として宣言できますか? Java では、トップレベルのクラスを protected または private として宣言できますか? Sep 12, 2023 pm 07:21 PM

Java では、トップレベルのクラスを protected または private として宣言できますか?

watch4proとGTのどちらが優れていますか? watch4proとGTのどちらが優れていますか? Sep 26, 2023 pm 02:45 PM

watch4proとGTのどちらが優れていますか?

iPadOS 17.4 で iPad のバッテリー寿命を最適化する方法 iPadOS 17.4 で iPad のバッテリー寿命を最適化する方法 Mar 21, 2024 pm 10:31 PM

iPadOS 17.4 で iPad のバッテリー寿命を最適化する方法

Java プログラムはさまざまなアクセス レベルを表示します Java プログラムはさまざまなアクセス レベルを表示します Aug 19, 2023 pm 10:09 PM

Java プログラムはさまざまなアクセス レベルを表示します

See all articles