記錄給自已!這是kohana框架裡的幾個寫法!
1、字符比較:比較適用於比較字符是否是大小寫:
程序代碼
$class = 'Rfdsaffsadfsadfasdfsadf';
$type = ($class[0] < 'a') ? 'libraries' : 'helpers';
echo $type;
程序代碼
echo ('大寫A:');
echo ord('A');
echo ('<hr />');
echo ('小寫a:');
echo ord('a');
輸出是:大寫A:65 小寫a:97
1、這樣的比較應該是先轉成ASCII 比較的;
2、如果第一個字符是中文,用$class[0]這樣的方式就取不出來了!
3、$class[0]這樣的方式是不推薦使用的,我有點忘了,應該是4.0以前的寫法,現在應該推薦用$class{0}
4、比較中文時,可以用 ord(mb_substr($class, 0 , 1, 'utf-8')) > 127 ,這裡是取第一個字符再轉成ASCII ,再比較,如果大於127的,可能認為是中文;
2、首字母大寫這個和上邊這個有點關系,也記一下;
//Make a string's first character uppercase
程序代碼
ucfirst()
手冊裡的例子是這樣的:
程序代碼
<?php
$foo = 'hello world!';
$foo = ucfirst($foo); // Hello world!
$bar = 'HELLO WORLD!';
$bar = ucfirst($bar); // HELLO WORLD!
$bar = ucfirst(strtolower($bar)); // Hello world!
?>
3、自動加載之前一直好奇,一個類文件還沒有require進來呢,怎麼就能直接可以用了呢?
//這個函數似乎是5點幾以後才支持的;之前的不支持;
spl_autoload_register(array('Kohana', 'auto_load'));
//然後kohana裡可以寫成類似的:
程序代碼
final class Kohana {
public static function auto_load($class){
require $class . '.php';
}
}
這樣,你new Abc(); 只要 Abc.php 這個文件存在,就會直接require進來;
看一眼應該能明白是什麼意思吧!