PHPを学ぼう!

▼PHPを学ぶチャプターです。


660円から使える!

 

素材メニュー

 ◆Chapter 1

 ◆Chapter 2

 ◆Chapter 3

 ◆Chapter 4

 

制作ヒント

 ◆制作のヒント

 

レッスンメニュー

 ◆Chapter2 練習問題

 ◆Chapter3 DB練習問題

 

サイト運営者がPHPを学んだ
お勧めの書籍です!
これ一冊で基本的なPHPの仕組み、簡単なプログラムの作成、SQLiteを使ったデータベースなどかなり学べる要素が詰まっています!

↓↓↓ ↓↓↓

PHPレッスンブック―PHP5対応

新品価格
¥2,520から
(2013/2/24 04:38時点)

 

 

サイバーテロの技法について書かれた書籍です!
ハッカーの手法を知ることでご自身のサイトがハッカーに攻撃されたときそれを防ぐ手法を紹介しています。

↓↓↓ ↓↓↓

PHPサイバーテロの技法―攻撃と防御の実際

新品価格
¥1,890から
(2013/11/5 10:09時点)

 

 

★初年度100円! サブドメインやメールアカウントを無制限に設置できます。
PHPやCGIは勿論、WordPress、Movable Type Open Source、掲示板、ブログ、ショッピングサイトなどが簡単に導入できるので複数サイトを運営したい場合に便利なサービスです。

↓↓↓ ↓↓↓

 

PHPが動作するサーバー

 

はじめてのHP | 無料素材 | タグ辞典 | CSSガイドEX | PHPを学ぼう!

◆Tip11 - "@"でエラーを無視する

PHP プログラムを作成していると、エラーが予想できる場合があります。
例えば次のコードをみてください。

<?php
  echo $test;
?>

このコードでは変数 $test を定義していないのに書き出そうとしています。
当然、次のようなエラーが表示されます。

Notice: Undefined variable: test in C:\xampp\htdocs\xampp\sample・・・

とします。

 

問題の無いエラーならエラー演算子 "@" を式の前につけることでその式で育成されたエラーメッセージを無視することができます。
エラー演算子は値を得ることができるものに対して、"@" を付けることが可能なのです。
例えば、変数、定数、関数などの前で使えます。
ただし、関数の定義やクラスの定義、if や foreach 等のような条件構造の前では利用できません。

上の例では、

<?php
  echo @$test;
?>

とすることで、エラーメッセージの書き出しを無くすことができるのです。

 

 

エラー演算子は、スクリプトの実行を終了するような致命的なエラーの出力を抑制します。
その為、エラーの発見が遅れたり、原因解明が困難になったりすることもありますので使用する際は十分に注意する必要があります。
php.ini の設定によってはデフォルトで表示されないようになっている場合もあります。

 

 

【追記 : 2015/11/6】
PHPのエラー処理の例を補足します。
例えばシリアライズ(serialize/書き込み)化されたファイルをアンシリアライズ(unserialize/読み込み)する場合、 読み込まれた内容が array かどうかを確認したい場合があります。
次の例を見てください。

01|<?php
02|  $array = unserialize(file_get_contents("sample.txt"));
03|  if(is_array($array)){
04|    $array = "OK";
05|  }else{
06|    $array = "NG";
07|  }
08|?>

"sample.txt" を読み込み、"$array" に代入しています。
なんとなくこれで array かどうかの判断ができそうなのですが、このコードを実行すると、 array で無い場合にはエラーを起こします。
そこで、"@" を使いエラー処理をすると次のようなコードが作れます。

01|<?php
02|  $array=@unserialize(file_get_contents("sample.txt"));
03|  if($array!=false){
04|    $array = "OK";
05|  }else{
06|    $array = "NG";
07|  }
08|?>

unserialize 関数の前に "@" を付けることによりデータが正しくなければエラーを起こし、値として "false" を返すのです。
3~7行ではエラーを判断する処理になります。
上手に使えば便利な機能なのです。

 

配列を保存、読み込み、変換、CSVファイルの取り込みなどができるカスタマイズ関数を『 Array Loader 』をツールEX で配布しています。
こちらも活用ください。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ex-mode.net | ツールEX | 素材EX | アフィモール | 初級者向 初めてのホームページ作り | Htmlタグ辞典 | 初めてのプランター菜園 | リンク・ボード
気のみ気のままなブログ | CSSガイドEX | ホビ★コレ | 班長日記!

▲UP

Copyright (C) ex-mode.net 2017. All Rights Reserved.