<?php//陣列的下標應該怎麼寫????
// 把notice級別的錯誤資訊遮蔽掉
// 在開必專案前會專門講錯誤報告設定
error_reporting(e_all & ~e_notice
); $arr = array(1=>'中',2=>'華','name'=>'張三','area'=>'衡水');
echo
$arr[1],$arr['1'],$arr["1"],'
';echo
$arr['name'],$arr["name"],$arr[name],'
';//
1: 對於數字的索引值,不必加單雙引號
// 因為加了單雙引號,比如"1",則需要把"1"轉成整型1,來尋找該單元.
// 影響了效率.
// 第2個問題: 字串型的下標,要不要加單雙引號????
echo '沒問題---',$arr[name],'
';define('name','dsafdsafdsaf');
error_reporting(e_all
);echo '有問題----',$arr[name],'
'; //
張三沒列印出來!!!
/*notice: undefined index: dsafdsafdsaf in d:\www\1009\10.php on line 29
這說明 $arr[name] -->引用的是 $arr[dsafdsafdsaf] 單元,沒有這個單元,所以報notice
為什麼引用$arr[dsafdsafdsaf] 這個單元?
答:因為name沒有加單雙引號,理解成常量,並且按常量值來做下標.
如果沒有該常量,再次把name當成字串的下標來處理.
不加單雙引號,流程上,先理解成常量,如無,再當成字串,效率必然低.
*///
第3個問題,加單引還是加雙引?
/*在字串學習的時候,單引號的解析速度遠比雙引號快.
因此,優先加 單引號.
*//*
**總結:
數字型別的索引,不必加引號
字串型別索引必加,而且優先加單引號
***/
?>
陣列下標越界
原理 因為c語言不會檢測陣列下標,所以如果我們給陣列乙個超出它大小的下標,就會照成陣列越界。如果是想陣列中寫入資料的話,就會造成資料寫入到不屬於陣列的地方,或者說如果讀取資料的話,就會讀取到別的地方的資料。因為陣列位址是自低往高增長,而棧的位址是自高向下降低,所以如果我們將陣列下標根據棧內的空間的分...
巧用陣列下標
巧用陣列下標 陣列的下標是乙個隱含的很有用的陣列,特別是在統計一些數字,或者判斷一些整型數是否出現過的時候。例如,給你一串字母,讓你判斷這些字母出現的次數時,我們就可以把這些字母作為下標,在遍歷的時候,如果字母a遍歷到,則arr a 就可以加1了,即 arr a 通過這種巧用下標的方法,我們不需要逐...
陣列下標訪問
q int a 2 3 則a 1 0 和 a 1 1 的值分別是 a a 4 5 b 4 3 c 3 5 d 3 4 a 假設給乙個一維陣列 int a 5 首先要明白 a 和 a 的意思,他們位址值一樣 可以把a理解江蘇的省會南京市 即江蘇省城市排名中的第乙個,對應陣列中的第乙個元素 a理解為江蘇...