2008年8月26日 星期二
[PHP]傳遞整個陣列
//原始陣列資料
$info=array(12,34,56,76,78,55,66,90,40,88);
function sorting($arr)
{//陣列遞減排序
arsort($arr);
//由陣列最後刪除5元素
for($x=0;$x<5;$x++){
array_pop($arr);
}
//傳回最大的5筆資料
return $arr;
}
echo "原始陣列資料:< br/>";
print_r($info);
echo "< p>";
//呼叫函數
$result=sorting($info);
//顯示回傳的陣列資料
echo "顯示回傳的陣列資料 : < br/>";
foreach($result as $value)
{
echo $value." -> ";
}
?>
=================顯示結果============
原始陣列
Array ( [0] => 12 [1] => 34 [2] => 56 [3] => 76 [4] => 78 [5] => 55 [6] => 66 [7] => 90 [8] => 40 [9] => 88 )
傳回值
90=>88=>78=>76=>66=>
[PHP]call by reference
$x=20;
$y=60;
echo "原本的值< /br>";
echo "\$x=".$x."< br/>";
echo "\$y=".$y."< br/>";
function swap($a,$b)
{
$temp=$a;
$a=$b;
$b=$temp;
echo "a的值".$a."< /br>";
echo "b的值".$b."< /br>";
}
echo "
以Call By Value 呼叫 swap函數< br/>";
swap(&$x,&$y);
echo "
呼叫函數後的 \$x 和 \$y 變數: < br/>";
echo "\$x=".$x."< br/>";
echo "\$y=".$y."< br/>";
? >
=============輸出結果===============
原本的值
$x=20
$y=60
以Call By Value 呼叫 swap函數
a的值60
b的值20
呼叫函數後的 $x 和 $y 變數:
$x=60 =========>不同處$y=20
[PHP]call by value use swap
$x=20;
$y=60;
echo "原本的值< /br>";
echo "\$x=".$x."< br/>";
echo "\$y=".$y."< br/>";
function swap($a,$b)
{
$temp=$a;
$a=$b;
$b=$temp;
echo "a的值".$a."< /br>";
echo "b的值".$b."< /br>";
}
echo "< p>以Call By Value 呼叫 swap函數< br/>";
swap($x,$y);
echo "
呼叫函數後的 \$x 和 \$y 變數: < br/>";
echo "\$x=".$x."< br/>";
echo "\$y=".$y."< br/>";
? >
=======顯示結果=========
原本的值
$x=20
$y=60
以Call By Value 呼叫 swap函數
a的值60
b的值20
呼叫函數後的 $x 和 $y 變數:
$x=20
$y=60
[PHP]區域變數與全域變數
"; echo "---".$a."!!!";}echo $a."";sayhello();
?>
[PHP]函數的定義
if(is_numeric($a)&&is_numeric($b)){
$avg=($a+$b)/2;
return $avg;
}
else
{
return "輸入的非數值";
}
}
$info=average(60,20);
echo "平均值是".$info;
echo "";
$info=average(aa,20);
echo "平均值是".$info;
?>
2008年8月25日 星期一
[PHP]時間函數2
//列印陣列中的資料foreach($info as $index => $value){ echo "\$info[$index] => ".$value."
";}
//轉成日期格式 echo "
系統日期和時間 :
"; echo ($info["tm_year"]+1900)."年".($info["tm_mon"]+1)."月".$info["tm_mday"]."日
"; echo "星期".$info["tm_wday"]." => ".$info["tm_hour"]."點"; //取得UNIX時間戳記並指定顯示格式$tim=mktime(11,30,20,8,16,2005); echo "
另一筆時間資料 :
"; echo date("Y-M-d h:i:s A",$tim);?>
[PHP]數值轉換
請輸入一個整數: name="form1" method="post" action="test11.php">
type="text" name="number">< /p><>< type="submit" name="submit" value="送出">< type="reset" name="reset" value="reset" id="reset">
/p>
/form>
===================php頁面語法====================";if(is_numeric($numb)){ //判斷是否為數值echo "轉成二進位為".base_convert($numb,10,2)."
"; echo "轉成八進位為".decoct($numb)."
";echo "轉成 十六進位為".dechex($numb)."
";}else{echo "您輸入的不是數值資料 ";}
?>
[PHP] 常用數學函數
$nm=-123.456;
echo "原數值 = ".$nm."
";
$nm=abs($nm);
$nm=round($nm,2);
echo "取絕對值和四捨五入小數取二位 => ".$nm;
echo "
亂數產生陣列值 :
";
for($a=0;$a<10;$a++){
//以亂數產生陣列值
$arr[$a]=rand(0,1000);
//顯示陣列元素 echo "\$arr[$a] => ".$arr[$a]."
";
}
echo "
陣列最大值 : ".max($arr)."
";
echo "陣列最小值 : ".min($arr);
?>
2008年8月24日 星期日
[PHP]字串比對-身份證比對,mail比對
//定義樣式$ptn1="[a-z]{1}[1-2]{1}[0-9]{8}";
for($a=0;$a
"; }else{ echo $id[$a]." => 格式不正確
"; }} "; }else{ echo $mail[$a]." => 格式不正確 "; }}?>
//找尋開頭可以是任何英文或數值,接著有一個@其後還有一個點$ptn2="^[[:alnum:]]+@[[:alnum:]]+\.";
for($a=0;$a
[PHP]輸出格式化字串
//原始字串$info="5600 ml";
echo "原始字串 : ".$info; //轉換成數值並以科學記號表示3位數值來顯示
$num=sprintf("%.3e",$info);
echo "
轉換成科學記號表示 : ".$num; //轉換成數值並以浮點小數兩位來顯示
$num=sprintf("%.2f",$info);
echo "
轉換浮點數表示 : ".$num; //另一個訊息字串 $message="每天需要的水份大於";
echo "
"; //%'.-25s設定message靠左,以 ..擴充到25位元 //%s設定info以字串顯示
printf("%'.-25s%s",$message,$info);
?>
[PHP]分割字串
【分割字串】
$array_info=explode(";",$info);
將$info以;分開字串存到$array_info裡頭【單位分割】
$array_info=str_split($info,10);
以10個字元分割為一組傳到$array_info裡頭
【以空白合併】
echo "空格合併字串".implode(" ",$info2);
將“陣列”的資料,以空白把陣列合併
============================
$array_info=explode(";",$info);echo "分割後的資料";print_r($array_info);
$array_info=str_split($info,10); echo "
分割後"; print_r($array_info); echo "";$info2=array("microsoft","internet","exploer"); echo "空格合併字串".implode(" ",$info2);
?>
2008年8月12日 星期二
Mystuff for windows
雖然架在Linux可以正常
但windows之前一直沒有架成
花了大約兩天才架好
原本是使用Appserv,但發現他們不合
於是改用xampp,第一次使用xampp,起初抓下來一直不會用
後來才發現抓錯檔案了,應該抓自動安裝那個檔
很順利了渡過了這關,安裝完xammp之後,
發現不知道要把網頁目錄放哪,一直try localhost一直沒出現我設的網頁,
發現官網有說明!太晚發現了,應該提早去看官網的教學表,
很開心的找到了網頁目錄後,將moodle放入,
安裝卻又出現一直找不到網頁
一整個頭痛
發現browser因為是一直顯示舊的畫面.......
之後終於可以順利讀取到moodle開始安裝
但發現重要的問題,居然在建立moodle需要的資料表時
一下就出現了error!!!!!!!!
真的非常意外,因為之前裝都沒有這些問題出現,
後來用google查到,原來在xammp裡頭的C:\xampp\apache\bin中 php.ini
extension=eaccelerator.dll
要改為
;extension=eaccelerator.dll
前面加個分號後,安裝就沒有問題了
但之後將mystuff放到mod裡頭
http://127.0.0.1/moodle/admin
他會先安裝mod裡頭mystuff需要的資料表
裝完之後
再執行http://127.0.0.1/moodle/mod/portfolio
發現他直接顯示出 發生系統嚴重錯誤........
這個情況完全沒遇見過
之前裝mystuff頂多是全空白畫面
以為會成功裝好,但一直遇到好多問題
後來嘗試去MySQL的官網載新的版本
直接past到MYSQL的資料夾
發現xampp沒辦法直接這樣合在一起
只好再度把xammp重新刪掉再安裝一次
裝完後,將moodle放入htdocs的資料夾,web是讀取這個目錄
突然想到若我先把Mystuff放到mod裡,再去執行moodle本程式的安裝
他應該會一起把mod裡需要的資料表一起裝好
於是這樣嘗試之後,
再度執行http://127.0.0.1/moodle/mod/portfolio
終於!!出現了!
真是開心,光裝這個就花了好多時間,
一直先執著先灌在windows是因為要改php程式會比較方便熟悉,
到時真正的目的在windows做好再移到linux也不遲。
上星期一直到書店翻找PHP與PDF的資料
有教這兩個關聯的書並不多,
大多都只有在 PHP函式庫會提到,
我只有看到一本“PHP學習手冊”與PDF報表有關的教學書
這本書是歐萊禮出版
在他的第十三章有提到PDF的報表製作,
若PHP學的有進展就可以慢慢朝那個方向去接觸了。
2008.08.13 PM 01:50 原瑜