比如第一次發現函數裏還可以定義函數的時候,我就慌了

還有引用傳值的方式究竟是什麼,變數的作用域,有的時候數組賦值還會給我驚喜.....這還不算把數據和程序混淆的真本領....

很多人都說php和c語言語法很像,我怎麼覺得差了那麼多?

用c語言寫程序的時候起碼我能想像,這個變數是在棧裏,那塊數據在堆裏,為什麼現在看不見這個變數,指針究竟意味著什麼,只要我願意,起碼我是能看清楚的而我在用php寫程序的時候,一切都是那麼的飄渺.........總是能達到目標但又不知道其實他是如何做到的.....乃們告訴我,是我很笨嗎親


所以只是說像。

控制結構看起來真的非常像。
說的應該是最基礎的語法。我當年就是從早年的 DOS C 轉到 PHP 的,基本上按照過程式來編程的話,基本上只有幾個點不太一樣,剩下的都一樣的。當然,近幾年的改動,就越來越加上 Java、JS等等各種語言的東西了。

Php 算是C系語言,和objective C, Java, Javascript 等等你看到if 是這樣寫的if() {}, for 也是for() {} 等等的都很像。

相較之下Basic, Python, 等等就不像了。

更不用說F#, haskell, Scala 之類的fp 了。

Kotlin 自帶的! 和?也和Swift 很像。

和十種常用的語言一起比較的時候,把php 這種語法分類成c 系幾乎是無可爭議的。

Solidity 不也說像Javascript 嗎?這只是個引子,用來安定初學者情緒的。像甚麼的作用也到此而已。


語法結構上像,而且函數像 printf,fopen。。。但 C 是操作系統底層,必須關注堆棧的狀態,而 php 是腳本語言,不涉及對底層內存的直接操作,所以看著有些飄渺。
先來解答一下問題中的具體內容:1、函數裏定義函數,這個叫做閉包,應該是從javascript學來的,不過在PHP中似乎並沒有什麼用。2、引用傳值其實就是一種指針,對照C,你應該能容易理解的。

3、用C寫的東西一般都是「長駐型」的,比如單片機、桌面程序;PHP寫的一般都是「瞬時型」的,做完一個網路請求就全完了。所以對於C你會比較在意它存在哪裡,讀寫速度,存儲空間等等;而PHP更關注的是這個請求有沒有執行正確,而處理快慢最主要是網速和資料庫以及緩存,程序本身效率反而並不太重要。


相反,是你太聰明。有句話叫什麼:聰明反被聰明誤
推薦閱讀:
相關文章