2009.08.06

Category: PHP / Tags: ,

phpの try and catch のサンプル

挙動の確認の為のサンプル
ini_set("display_errors","on");
class a
{
function aa()
{
$bool = false ;
if($bool){
//何かの処理
}else{
throw new Exception('error message');
}
}
}
class b extends a
{
function bb()
{
try{
$a = new a();
$a->aa();
}catch(Exception $e){
throw $e ;
}
}
}
class c extends b
{
function cc()
{
try{
$b = new b();
$b->bb();
}catch(Exception $e){
$this->_catchError($e);
}
}
function _catchError($e)
{
$error = “”;
$error .= “
\n”;
$error .= “Catch error in “. $e->getFile() . “ on line ” . $e->getLine() . “
\n”;
$error .= $e->getMessage() . “
\n”;
$error .= “trace
\n”;
$trace = $e->getTrace();
foreach($trace as $key => $val){
$error .= ““. $val['file'] . “ on line ” . $val['line'] . “
.” in class = {$val['class']}”
.”, function = {$val['function']}”
.”, type = {$val['type']}”
.”, function ={$val['function']}”
// .”, args = ” . print_r($val['args'])
. “
\n”
;
}
print_r($e);
print $error ;
       // mailが飛べば本番も安心だね
// mail(’admin@ecamlpe.com’,'php error’, $error);
}
}
$c = new c();
$c->cc();

2009.01.31

Category: PHP / Tags:

PHP再起処理-MLから

——————————————————
$arr = array();
$a = “”;
func1($hogehoge,&$arr,$a);
function func1($hogehoge,$arr,$a){
foreach( $hogehoge as $key => $value){
if(is_array($value)){
func1( $value,&$arr,$a.”/”.$key);
}else{
array_push($arr,$a.”/”.$value);
}
}
}
——————————————————
foreach($arr as $value){
echo $value.”\n”;
}

2008.06.10

Category: PHP, 未分類 / Tags:

PHPを出来るだけ早く処理するためのテクニック(トピックス)

1.ループ内の換算、減算は、「前置加算子、減算子」の方が「後置加算子、減算子」よりはやい
つまりは、++$i, –$i をつかえってこと。
2.ループの場合は、do-whileが、whileより、ちょこっとが早い。for文が一番おそい。
可視性をあげるためにも、whileを推奨
3.foreach と while(each()) は、foreachがはやい
4.foreach で、keyを取得しない froeach( $array as $value ){} だけの方が1.1倍~1.3倍早い。
参考URL
http://itpro.nikkeibp.co.jp/article/COLUMN/20070704/276650/