PHP day2:簡(jiǎn)單的語法及表達(dá)式

php的數(shù)據(jù)類型

  1. php支持8種基本數(shù)據(jù)類型(和Java一樣)
  2. 支持2中特殊類型:resource(資源)null(無類型)
  3. php支持的偽類型:mixed(混合類型) number(數(shù)字類型)callback(回調(diào)類型)

偽類型與變量

  1. mixed,比如gettype()可以接收所有的PHP類型,str_replace()可以接收字符串和數(shù)組
  2. number:說明參數(shù)可以是integer或者是float
  3. callback:回調(diào)類型,在php5.4引入callable類型之前使用了callback偽類型。2者的意義是完全相同的
  4. 偽變量 $...:個(gè)人覺得這個(gè)太6了,在函數(shù)原型中 $... 表示等等的意思,表示該函數(shù)可以接收任意個(gè)參數(shù)(多少個(gè)參數(shù)都可以,真的就是省略號(hào)...)
  5. php是支持強(qiáng)制轉(zhuǎn)換的:引入一個(gè)和Java相差很多的概念,php在定義變量的時(shí)候不支持(或者是不建議明確的類型定義),如果把一個(gè)String值賦值給$var,$var的類型就是String型;如果又把integer賦值給$var,$var就成了integer。(變量類型是根據(jù)使用該變量的上下文決定的)
object對(duì)象
  1. 要?jiǎng)?chuàng)建一個(gè)新的對(duì)象object,使用new關(guān)鍵字初識(shí)化。
<?php
 /**
 * new 實(shí)例化對(duì)象
 * -> 執(zhí)行類中的方法 
 */
 class foo
 {
    function do_foo(){
        echo "doing foo";
    }
 }

 $bar = new foo;
 $bar->do_foo();

?>
  1. 對(duì)象轉(zhuǎn)換成對(duì)象,無變化
  2. 其他類型的值轉(zhuǎn)化為對(duì)象,會(huì)創(chuàng)建一個(gè)內(nèi)置類stdClass實(shí)例,如果該值為NULL,則新的實(shí)例為空。
  3. 數(shù)組轉(zhuǎn)化成對(duì)象將使鍵名成為其屬性名并具體相應(yīng)的值
  4. 對(duì)于任何其他的值,名為scalar的成員變量將包含該值。
<?php
$obj = (object)'fhasfjdas';
echo $obj->scalar;
?>
Resource資源類型
  1. 概念:保存了一個(gè)到外部資源的引用。資源是通過專門的函數(shù)來創(chuàng)建和使用的。
  2. get_resource_type() 返回資源的類型
<?php
$c = mysql_connect();
echo get_resource_type($c)."\n";
// 打?。簃ysql link

$fp = fopen("foo","w");
echo get_resource_type($fp)."\n";
// 打印:file

$doc = new_xmldoc("1.0");
echo get_resource_type($doc->doc)."\n";
// 打?。篸omxml document
?>
  1. 關(guān)于資源的轉(zhuǎn)化和釋放:php不建議將其他對(duì)象轉(zhuǎn)化為資源,因?yàn)闆]有意義。php資源的釋放像Java一樣,程序會(huì)檢測(cè)資源不再被外部引用,就會(huì)被垃圾回收機(jī)制釋放回收掉,基本不需要人為釋放資源。
NULL
  1. 變量會(huì)認(rèn)為是null的情景:被賦值為null;尚未被賦值;被unset()

unset

手冊(cè)

  1. 如果用unset()銷毀一個(gè)全局變量,則只是局部變量被銷毀,在調(diào)用環(huán)境中的變量將保持調(diào)用unset()之前一樣的值
  2. 在函數(shù)中unset()一個(gè)全局變量,需要用到$GLOBALS數(shù)組來實(shí)現(xiàn)。
  3. 如果在函數(shù)中 unset() 一個(gè)通過引用傳遞的變量,則只是局部變量被銷毀,而在調(diào)用環(huán)境中的變量將保持調(diào)用 unset() 之前一樣的值。
  4. 注意:使用(unset)$var將一個(gè)變量轉(zhuǎn)化為null,不會(huì)刪除該變量或者unset()其值。僅是返回null值

函數(shù)的作用

  1. value_dump():查看表達(dá)式的值和類型
  2. gettype():返回一個(gè)通俗易懂的表達(dá)式,方便調(diào)試
  3. istype():查看類型
  4. settype():改變一個(gè)變量的類型
  5. var_dump():打印變量的相關(guān)信息,
  6. eval(): 把字符串作為PHP代碼執(zhí)行
  7. isset():檢查變量是否可以設(shè)置
  8. strlen():字符串長(zhǎng)度
  9. strpos():字符串所在的位置

小結(jié)

有不對(duì)或者不準(zhǔn)確的地方歡迎大家糾正

一個(gè)敲代碼,愛分享的人,我在這里!

來玩啊
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容