如何才能熟練掌握 PHP 的數組和字串函數?

來源:互聯網
上載者:User

回複內容:

PHP 的數組和字串 API 應該是所有類 C 語言中最反人性的一組 API 了。查手冊吧,用多了會……查得很快。 首先,把所有的數組和字串函數過一遍,大概知道它們能用來解決什麼問題。
然後,做項目,當你需要用到某些函數的時候,去查手冊,查到的同時順便看看前後的幾個函數以及手冊裡標註的相關函數。
經過一段時間的積累以後你就熟練掌握這些函數了。
如果你有空,還可以嘗試自己去實現這些函數,通常你會寫出比預設實現更高效的代碼來。
你會發現,它其實和記單詞是一樣一樣的,不是嗎? 多用一些,常用的記住,手冊隨時查,如果實在記不住就用 zend ,有提示哈~ 再精通也有想不起來怎麼拼的時候,查個手冊不丟臉。 PHP: Arrays - Manual
PHP: Strings
帶人的時候我都會囑咐他們,把 array 相關函數一個一個的看,多看幾遍

不分 list 和 dict 是 PHP 的一個特點
如果你的世界觀不像有些人一樣是純二元的、一定要說成缺點或者優點的話

有些場合有人會說“這要是強型別的就不會搞這麼麻煩了”,另外有些場合有人會說“這要是弱類型的就不會搞這麼麻煩了”,當然我們都知道,任何一個 feature 都有他的目的,在特定條件下會獲得額外的好處,相應的,也要付出代價。
PHP 裡的 array 被故意設計成這樣,只是作者基於 PHP 使用情境的考量,而不是因為作者不知道 list 和 dict 而犯的一個錯誤。PHP 有很多曆史遺留下來的錯誤,比方說 array_map() 和 array_filter(),他們兩個都是關於 array 的函數,都需要 callback 和 array 兩個參數,但是參數的順序是相互反著的。我的意思是,array_map/array_filter 有錯誤,但 array 本身還談不上錯誤。作者只是想降低上手門檻,以及在一些場合下能減少代碼量,副作用是降低效率,和有些時候會把使用者弄暈

可能扯遠了,但我還想貼一下我以前對 PHP 的評價
PHP 能足夠流行,主要原因之一是這語言下賤,我想如果所有語言都能測一下開發人員的平均智商的話,應該 PHP 的開發人員的平均智商是最低的。但這話絕不是冒犯任何人,想承認他流行就必須承認這是因為連智商 90 的人都敢嘗試給 PHP 寫 Framework 才能導致這麼流行,這是一個事實,跟任何一個具體的使用者是誰、怎麼用無關。我在開始瞭解其他語言後,才知道這麼個事實:其他幾乎所有語言的基礎庫,都是用同樣的語言寫就的,唯獨 PHP 的基礎庫都是靠 C 的。去年看到一片文章說 PHP 不是語言,深表同意,我認為 PHP 的位置實際處於虛擬碼和程式語言之間,以快和下賤為特色,你可以快速搭建原型,需要人手時可以找一群民工來寫,這語言當然就很厲害了。《駭客與畫家》給我最大的一個啟示就是,儘管我明白最佳化乃萬惡之源,但實際寫代碼的時候還是容易拘泥於細節,現在看來最痛恨的事情就是在給一個應用做第一版的時候,代碼還不夠虛擬碼化。你是程式員,你是畫家,你要最快的速度讓一個程式能跑起來。畫一幅受歡迎的畫是程式員要做的,把畫印刷成無數分賣往全世界是工程師要做的。真等 facebook 的網站運轉起來了,還愁這世界找不到人改進下 memcache 的 pecl 就節省出上萬台機器麼。
以及 直到剛才,我才想明白大家對 PHP 的用法是如此迥異

說了這麼多是想告訴樓主,PHP 作為互連網行業最被廣泛使用的語言,以及最被頻繁調侃的語言,它有很多特徵,而這些特徵造就了 PHP 的地位和名聲照著PHP手冊每個看一遍,然後自己找一些功能代碼來寫一下,舉一反三。對數組的功能和使用方法要比較熟悉才可以,現在一般的IDE上都有這些函數庫的,配置一下隨查隨用。
熟練沒有捷徑,只有反覆的使用和練習! read the fuck manual, and comment 多寫代碼, 看手冊 可以看一些優秀程式的代碼和動手寫點什麼,主要還得多動手 除了多寫代碼外...找不出其他有效方法每次遇見數組或者字串要處理的時候,先去網上搜尋一下,看有沒有類似的函數。
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.