You are here: 首頁 文章分類選單 PHP分享特區

飛朵啦學習手札

本網站建議使用Firefox2.0以上,或是使用Goole瀏覽器來瀏覽,並使用1024x768解析度來觀看.

PHP分享特區

計算文字在HTML中的顯示寬度

E-mail 列印 PDF

我自己寫的js版參考以下文章做出的

http://www.rupeng.com/innersupesite/index.php/7/viewspace-583

JS版:

function arial_strlen(val, word_length){

var lencounter=0;

var sub_str = 0;

for (var i = 0; i < val.length; i++) {

if(ck_null(word_length) != '-'){

if(Math.ceil(lencounter*2) >= word_length){

return sub_str;

}

}

ch = val.substr(i,1);

 

var char_050 = ",./;'[]=-/*-!@#$%^&*()_{}:\"<>?1234567890fijlrIt";

 

asc_ch = ch.charCodeAt();

//if(ord(ch)>128){

if (ch.match(/[^\x00-\xff]/ig) != null){

lencounter++;

}else if(char_050.indexOf(ch) != -1){

lencounter+=0.5;

}else if(asc_ch>=48 && ch<=57){

lencounter+=0.55;

}else if(asc_ch>=97 && asc_ch<=122){//a~z

lencounter+=0.55;

}else if(asc_ch>=65 && asc_ch<=90){//A~Z

lencounter+=0.8;

}else{

lencounter++;

}

sub_str++;

}

return Math.ceil(lencounter*2);

}

 
 

PHP利用curl_init 傳值 GET方式

E-mail 列印 PDF

PHP直接用get丟值

//範例一

$PostData = "a=abc&b=def";

$curl = curl_init("https://test.com/test.php?$PostData");

//檢查 curl 有無作用
if (! $curl) {
die( "Cannot allocate a new PHP-CURL handle" );
}

curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1); //SSL
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);//SSL

curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
//這個若是沒設 , curl_exec($curl) 會直接印出來

最近更新 ( 週一, 02 七月 2012 14:18 )
 
 

各資料庫隨機選取

E-mail 列印 PDF

Select a random row with MySQL:
Select column FROM table
ORDER BY RAND()
LIMIT 1

Select a random row with PostgreSQL:
Select column FROM table
ORDER BY RANDOM()
LIMIT 1

Select a random row with Microsoft SQL Server:
Select TOP 1 column FROM table
ORDER BY NEWID()

Select a random row with IBM DB2
Select column, RAND() as IDX
FROM table
ORDER BY IDX FETCH FIRST 1 ROWS ONLY
Thanks Tim

Select a random record with oracle:

Select column FROM
( Select column FROM table
ORDER BY dbms_random.value )
Where rownum = 1

最近更新 ( 週二, 22 五月 2012 17:02 )
 

[轉]PHP中數字千分位逗號分隔函數number_format()

E-mail 列印 PDF
由轉貼:方山子
在PHP中使用number_format() 函數通過千位分組來格式化數字。
語法:
number_format(number,decimals,decimalpoint,separator)
number 必需。要格式化的數字。如果未設置其他參數,則數字會被格式化為不帶小數點且以逗號(,) 作為分隔符。
decimals 可選。規定多少個小數。如果設置了該參數,則使用點號(.) 作為小數點來格式化數字。
decimalpoint 可選。規定用作小數點的字符串。
separator 可選。規定用作千位分隔符的字符串。僅使用該參數的第一個字符。比如 “xyz” 僅輸出 “x”。
※註釋:如果設置了該參數,那麼所有其他參數都是必需的。
示例:
<?php
$number = 1234.56;
// 英文表示法(默認)
$english_format_number = number_format($number);
// 1,235
// 法語表示法
$nombre_format_francais = number_format($number, 2, ',', ' ');
// 1 234,56
$number = 1234.5678;
// 英文表示法,不帶千分位
$english_format_number = number_format($number, 2, '.', '');
// 1234.57
//中文最常用的表示法,千分位為',',浮點分割為'.',保留兩位浮點數
$chinese_format_number = number_format($number,2,'.',',');
//1,234.57
?>
最近更新 ( 週四, 10 五月 2012 15:45 )
 

關於PHP和Javascript的參數傳遞和參數傳址

E-mail 列印 PDF

果然在物健導向的底還不夠深,趁這個機會將觀念一掃而空。

PHP部分:
在 PHP ,大部分時候寫 = 代表複製過去的是變數裡面的 value, =& 代表複製過去的是變數(參數傳值)。但是當變數是物件時當 = 的右邊是物件時,複製過去的會是 reference (參數傳址)。如果要複製物件裡面的 value 到一個新的物件,必須用關鍵字 clone,如下:

<?php

$obj2 = clone $obj;

?>

Javascript部分:

在Javascript部分,陣列和物件都是reference (參數傳址) ,而其他變數則是(參數傳值),Javascript複製物件的方法請參考http://www.josephjiang.com/presentation/OOJS/object-oriented-paradigms.html

PS:PHP的陣列是(參數傳值)。

最近更新 ( 週一, 16 四月 2012 15:13 )
 
第 6 頁, 共 8 頁