標籤:存在 第一個 mil apach 關聯陣列 lang 下標 lame 索引
在C語言中字串是作為位元組數組處理的。在Java語言中字串是作為對象處理的。
而php則把字串作為基礎資料型別 (Elementary Data Type)來處理。
通常對字串的處理涉及字串的格式化。字串的分割和串連、字串的比較、以及字串的尋找、匹配和替換。
<?php echo substr( "1234567", 2, 4 ); //將字串用函數substr()處理,輸出子字串 345 echo substr( 123456, 2, 4 ); //將整型用字串函數處理,輸出同樣是字串 345 echo hello; //會先找hello常量,找不到就會將常名看作是字串使用 $str = "lamp"; //聲明一個字串$str,值為lamp echo $str."<br>"; //將字串看作是一個連續的實體,一起輸出 lamp //以下將字串看作字元集合,按數組方式一個個字元輸出 echo $str{0}; //輸出字串$str中第一個字元 l echo $str[1]; //輸出字串$str中第二個字元 a,[ ] 也可以,不過已淘汰 echo $str{2}; //輸出字串$str中第三個字元 m echo $str{3}; //輸出字串$str中第四個字元 p echo $str{0}.$str{1}; //輸出字串$str中前兩個字元 la $last = $str{strlen($str)-1}; //擷取字串$str中最後一個字元 p $str{strlen($str)-1} = ‘e‘; //修改字串$str中最後一個字串,字串為lame $str{1} = "nginx"; //使用一個字串去修改另一字串中的第2個字元,結果:lnmp;
<?php //聲明一個關聯陣列,數組名為$lamp, 成員有4個 $lamp = array( ‘os‘=>‘Linux‘, ‘webserver‘ =>‘Apache‘, ‘db‘=>‘MySQL‘, ‘language‘=>‘php‘ ); //可以解析,雙引號中對於數組索引,右方括弧(])標誌著索引的結束, //但是注意:不要在[]中使用引號,否則會在引號處結束 echo "A OS is $lamp[os]."; //不能解析,如果在對關聯陣列下標使用引號就必須使用花括弧,否則將出錯 echo "A OS is $lamp[‘os‘]."; //可以解析,如果在對關聯陣列下標使用引號就必須使用花括弧,否則將出錯 echo "A OS is {$lamp[‘os‘]}."; //可以解析,注意PHP將數組下標看作常量名,並且常不存在時將常量名稱轉為了字中,效率低 echo "A OS is {$lamp[os]}."; echo "This square is $square->width meters broad."; //可以解析,對象中的成員也可以解析 echo "This square is $square->width00 centimeters broad."; //不能解析,可以使用花括弧解決 echo "This square is {$square->width}00 centimeters broad."; //可以解析, 使用花括弧解決
PHP中字串的處理