if (“0″) {
echo “真”;
} else {
echo “偽”;
}
これは「偽」と表示される。
if (“0″) {
echo “真”;
} else {
echo “偽”;
}
これは「偽」と表示される。
超基本。
普通に。
$a = 'Test'; $b = $a; $a = 'Change'; echo "b: $b"; // b: Test
参照渡し。
$a = 'Test'; $b = &$a; $a = 'Change'; echo "b: $b"; // b: Change
test1.php
function foo() { global $color; $fruit = 'SUIKA'; include 'test2.php'; echo "A $color $fruit\n"; } for ($i=0; $i<100; $i++) { foo(); echo memory_get_usage() . "\n\n"; }
test2.php
$color = 'green'; $fruit = 'apple';
test1.php を実行したとき、メモリが増加する。
メモリ増加の原因は、ダブルクォーテーション内の変数展開であった。関数内のincludeはメモリを増やさない事がわかった。
セーフモードの回避策で、
AddHandler application/x-httpd-phpcgi .php
とするのだが、CGI版のPHPを動かすということである。
しかし、CGIのPHPでも問題がある。
HTTPのレスポンスヘッダーが常に Content-Type: text/html としてしまう。
CGIのPHPでFireFoxを使って管理画面が崩れてしまうのは、このせいである。
この回避策として、load-styles.phpのみをモジュール版に戻すという手段もあるが、他の手段としてphp.ini を各ディレクトリに設置するということをする。記述は下記の通り。
cgi.nph = 1
default_mimetype =default_charset =
しかし、次の条件の時はまだ足らない、
このとき、なにが足らないかというとStatusが常に200となってしまう。
一応回避策はあって、
でも、この方法は面倒だなぁ。
そのファンクションをコールしない限り表示されない。
Why Are You Looking Grave? | [PHP5][Java]の参照渡しについて
ならないケースはあると思います。
あと、再帰の時とか。。。
後日、実験だな。
例3 データベースの結果をソートするこの例では、配列 data の個々の要素がテーブルのひとつの行を表しています。 これは、データベースのレコードの典型的な形式です。
データの例:
volume | edition
——-+——–
67 | 2
86 | 1
85 | 6
98 | 2
86 | 6
67 | 7データは data という名前の配列に格納します。 これは、例えば mysql_fetch_assoc() の結果をループさせたりすれば得られます。
$data[] = array(‘volume’ => 67, ‘edition’ => 2);
$data[] = array(‘volume’ => 86, ‘edition’ => 1);
$data[] = array(‘volume’ => 85, ‘edition’ => 6);
$data[] = array(‘volume’ => 98, ‘edition’ => 2);
$data[] = array(‘volume’ => 86, ‘edition’ => 6);
$data[] = array(‘volume’ => 67, ‘edition’ => 7);
?>この例では、データを volume の降順、 edition の昇順に並べ替えます。
私たちが今もっているのは行方向の配列ですが、 array_multisort() で必要なのは列方向の配列です。 そこで、以下のコードで列方向の配列を得たあとでソートを行います。
// 列方向の配列を得る
foreach ($data as $key => $row) {
$volume[$key] = $row['volume'];
$edition[$key] = $row['edition'];
}// データを volume の降順、edition の昇順にソートする。
// $data を最後のパラメータとして渡し、同じキーでソートする。
array_multisort($volume, SORT_DESC, $edition, SORT_ASC, $data);
?>データセットの行はソートされ、以下のようになります:
volume | edition
——-+——–
98 | 2
86 | 1
86 | 6
85 | 6
67 | 2
67 | 7
下記サイト参照。
早急にやらんと。。。
S-MEMO(エスメモ): PEAR::Mailを使ってメールを送信してみよう
CoreserverでPEARのインストール記事発見。
SeeIn開発日誌 – 共有サーバ(CORESERVER.JP)で自由にPEARのインストールをする
ちょっと、良い説明。
http://masha.maakikaku.jp/2007/12/_peargopear.php
ここを参照。
今日現在、Pleiadesは1.2.1で1.2.2pは動かん!
aguuu » Blog Archive » Mac OS X にPHP開発環境を作る! 〜PDTにZendDebuggerを設定〜