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=>"(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) [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 '<pre class="brush:php;toolbar:false">';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 '<pre class="brush:php;toolbar:false">';print_r($contact);//结果输出如下:/*Array( [0] => 1 [1] => A公司 [14] => (010)98765432 [15] => 北京市 [16] => [email protected])*/<div class="clear"> </div>
ログイン後にコピー
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

人気の記事
スプリットフィクションを打ち負かすのにどれくらい時間がかかりますか?
3週間前
By DDD
レポ:チームメイトを復活させる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
ハローキティアイランドアドベンチャー:巨大な種を手に入れる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
2つのポイント博物館:すべての展示とそれらを見つける場所
3週間前
By 尊渡假赌尊渡假赌尊渡假赌

人気の記事
スプリットフィクションを打ち負かすのにどれくらい時間がかかりますか?
3週間前
By DDD
レポ:チームメイトを復活させる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
ハローキティアイランドアドベンチャー:巨大な種を手に入れる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
2つのポイント博物館:すべての展示とそれらを見つける場所
3週間前
By 尊渡假赌尊渡假赌尊渡假赌

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック
Gmailメールのログイン入り口はどこですか?
7125
9


Java チュートリアル
1534
14


Laravel チュートリアル
1256
25


PHP チュートリアル
1205
29


CakePHP チュートリアル
1153
46



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