PHP教程:五個使用PHP制作動態網頁的技巧_PHP教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:php用session做客戶驗證時的注意事項
      如果你的php.ini中register_globals = On, 所有post, get, cookie, session的同名變量就會攪和在一起, 可以用HTTP_*_VARS[username]來判斷你想要的那個變量. 但是即使同名, 在php.ini中variables_order = GPCS也會按照優先級別來判斷, 等級低的值沒法沖

      1. str_replace

      str_replace是常用的php函數,用于字符串替換,經常看到某些php新人為了替換一批字符串,寫了好多行str_replace,實在是慘不忍睹。

      比如這個例子:

      PHP:

      str = ’某人的棲息地 --- www.dwww.cn’;
      str = str_replace(’某人’, ’壞人’, str);
      str = str_replace(’的’, ’di’, str);
      str = str_replace(’棲息地’, ’豬窩窩’, str);
      str = str_replace(’www.dwww.cn’, ’dwww.cn’, str);

      以上,替換了4次字符串,實際只要換個寫法,一行就搞定了:

      str = ’某人的棲息地 --- www.dwww.cn’;
      str = str_replace(array(’某人’, ’的’, ’棲息地’, ’www.dwww.cn’), array(’壞人’, ’di’, ’豬窩窩’, ’dwww.cn’), str);

      2. array

      經常看到有人拿數組這樣寫:echo arr[some_key];

      上面這行代碼能跑,看上去也沒什么大問題,但是如果你把php.ini的error notice打開的話,會收到一大批error。php解析器首先是拿“some_key”當作一個常量來解釋的,但如果沒有定義some_key這樣一個常量,解析器還是很寬容的把它當作了一個字符串來看待。因此新人同學們最好寫完整一點:

      echo arr[’some_key’];這樣就沒有問題了,如果你要把它放在雙引號中連用,也不能省掉引號,可以這樣寫:echo "這是混在雙引號中的字符串{arr[’some_key’]}";

      3. 類型戲法

      類型戲法相當好用,比如有一個表單提交過來的變量,正常情況下它應該是整型的,有時候偷懶省去校驗的寫法可以是這樣的:

      intVar = (int)_POST[’post_var’];

      再比如數組,有時候寫鍵值要打引號是不是很不爽啊,我們可以把它轉換成object,比如:

      arr = array(’name’ => ’volcano’, ’sex’ => ’male’);
      arr = (object)arr;
      echo arr->name;
      echo arr->sex; 是不是很省事?

      4. lambda函數

      lamda函數和array_*系列函數使用有奇效,拿php手冊上的一個例子來說:

      PHP:

      <?php
      av = array("the ", "a ", "that ", "this ");
      array_walk(av, create_function(’&v,k’, ’v = v . "mango";’));
      print_r(av);
      ?>

      至少省了一個for循環

      5. 嵌套循環顯示表格的單元格

      嵌套循環顯示表格的單元格,這是一個很老的話題哦,往往會要在某個單元格后邊加個條件判斷什么的,考慮是不是要輸出tr抑或是td標簽。

      俺這里介紹一個辦法,利用array_chunk函數能夠比較工整的輸出html,見下例,這個例子要輸出一個4行6列的表格:

      <?php
      arr = range(1, 24); //這個會生成一個數組array(1,2,3,4....24)
      arr = array_chunk(arr, 6);
      // output table
      ?>
      <table>
      <?php foreach(arr as row): ?>
      <tr>
      <?php foreach(row as col):?>
      <td><?php echo col?></td>
      <?php endforeach;?>
      </tr>
      <?php endforeach;?>
      </table>

      分享:PHP入門教程:如何獲得PHP相關資料?
      1. 我在哪兒能得到php? 2. 有預編譯的二進制版本嗎? 3. 我在哪兒能得到可選的php擴展庫 ? 4. 我怎樣做才能使這些庫運作起來? 5. 我在我的windows上用cvs得到最新版本的php源代碼, 我怎樣編譯它? 6. 我在哪兒能找到 browser capabilities file? 1. 我在哪兒

      來源:模板無憂//所屬分類:PHP教程/更新時間:2012-06-15
      相關PHP教程