【待望】PerlユーザのためのPHP入門 (601レス)
1-

87: 俺様 03/03/02 19:26 ID:FrxqKaYz(1/3) AAS
多次元配列は一つ注意を。
これは前も似たようなこと言ったが

$a[0][1] = 41;
print "$a[0][1]";

Perlだと期待する結果41が出力されるが、
PHPだとArray[1]という怪しげな結果が出力されてしまう。
後ろの[1]はただの文字列として認識されてしまっているようなのだ。
以下のどちらかにしないといけない。

$a[0][1] = 41;
print "{$a[0][1]}";
省1
88: 俺様 03/03/02 19:28 ID:FrxqKaYz(2/3) AAS
まあ、おかしくなったらまずは変数を{}で括ってみろってことだ。
89
(1): 03/03/02 19:51 ID:??? AAS
@a{qw(a b c)} = @b[1..3];
こういうのはどう書く?
90: 03/03/02 20:32 ID:??? AAS

91: 俺様 03/03/02 21:07 ID:FrxqKaYz(3/3) AAS
>>89
うーん、よくわからんな(汗
誰かわかる人募集中だ!

まあ、とりあえず根性で全部書いておけ。
$a = array(
"a" => $b[1],
"b" => $b[2],
"c" => $b[3],
)
92: 03/03/02 23:06 ID:??? AAS
なんで、空投稿するんだよ。見ずらいんだよ。
93: 03/03/02 23:16 ID:??? AAS
日本語すら満足に書けない俺様が講師のクソスレはここですか?

見ずらいんだよ。
見ずらいんだよ。
見ずらいんだよ。
見ずらいんだよ。
見ずらいんだよ。
見ずらいんだよ。
見ずらいんだよ。
見ずらいんだよ。
見ずらいんだよ。
省13
94: [ ] 03/03/02 23:20 ID:??? AAS
ねちっこいね。うざいというかきもい。
95: [ ] 03/03/02 23:27 ID:??? AAS
AA省
96: 03/03/02 23:31 ID:??? AAS
見づらいんだよ。でした。すまん。
俺は「俺様」じゃないです。
97
(4): 03/03/03 04:20 ID:??? AAS
普通に見てる人もいるんで、煽ってるやつらマジでどっかいって。
98
(4): 03/03/03 08:39 ID:??? AAS
>>97
普通にウザがってる人もいるんで自分のサイトでやるように説得してください。
99: 俺様 03/03/03 10:08 ID:gt/b6+qo(1/11) AAS
煽りでもレスが付かないよりは大歓迎だ!
>>98
需要も少しはあるようだからまあ、多めに見てもいいじゃないか。
WebProg板ってスレ保持数に比べて活性化しているスレ数が非常に少ないから
他のスレがdat落ちして困るとかも無いしな。ウザかったら見なければ(・∀・)イイ!
2chブラウザ使ってこのスレごとあぼーんだ。
100: 俺様 03/03/03 10:33 ID:gt/b6+qo(2/11) AAS
今日はオブジェクト指向について書いておこう。
PHPもPerlもJavaやC++に代表されるオブジェクト指向言語である。

Perlのオブジェクト指向についてあまり知らないんですが、
Javaに比べるとPHPのオブジェクト指向に関する仕様は
             ショボイ!!!!
今年中に出る予定のPHP5で大幅に機能がアップするらしいので
それに期待しましょう。
101: 俺様 03/03/03 10:48 ID:gt/b6+qo(3/11) AAS
まず、誰でも最初に疑問に思うのが
オブジェクト指向を用いるメリットは何か?
ということだ。

再利用ができる?
そんなのオブジェクト指向じゃなくてもしてるじゃないか。
我々はprintという出力命令を何度も利用している。
printの命令が内部でどういう仕組みになっているか調べたことのある人は極少数だろう。
102
(1): 俺様 03/03/03 11:12 ID:gt/b6+qo(4/11) AAS
まあ、オブジェクト指向をうまく使えば
再利用『しやすく』はなるだろう。

まず、カプセル化(データ隠蔽)というものがある。
人間というオブジェクトの例で考えてみよう。
人間は体重というデータを持っているが
我々は外見から見ただけでは体重を正確には知れない。
例えば、彼に『体重計に乗れ』ってメッセージを送れば
正確な体重を得ることが出来る。
同様に体重に『直接』アクセスして値を変えることは出来ない。
彼に『〜を食べろ』ってメッセージを送れば
省5
103: 俺様 03/03/03 11:35 ID:gt/b6+qo(5/11) AAS
再利用のためのもう一つの便利な機能は『継承』だろう。
既存のクラスのフィールド(データ)やメソッド(機能)を引き継いで、
その上で既存の機能を修正したり新たに追加したりできるようになる。
まあ、言い方を変えれば『継ぎはぎ』みたいなものだ。

PHPでは多重継承が存在しない。
つまり、あるクラスに対して1つの親クラスからしか
フィールドやメソッドを引き継げないということだ。
同じく多重継承が禁じられているJavaではこのようなことがしたければ
interfaceで代替が可能だが、
PHPではその代替案すら用意されていない。
省3
104: 俺様 03/03/03 12:07 ID:gt/b6+qo(6/11) AAS
1つぐらいサンプルを書いてみよう。
因みに、このように変数に日本語使っても大丈夫だ。
(普段はお奨めしない。)

<?php
class 人{ //クラス名
var $体重; //フィールド
function 人($値){ //コンストラクタ(初期化)
$this->体重=$値; //値をフィールドへ代入
}
function 体重計に乗る(){ return $this->体重;} //体重を出力するメソッド
省9
105: 俺様 03/03/03 12:10 ID:gt/b6+qo(7/11) AAS
クラス内で自分自身のフィールドにアクセスするのにも
$this->体重
このように$thisとかいうものが必要なのだ。
(Javaの場合は省略可能)
これは長いコードを書こうとするとわかるが面倒すぎ。
106
(1): 俺様 03/03/03 12:16 ID:gt/b6+qo(8/11) AAS
ここで>>102で指摘した問題が起きる。
<?php
class 人{
var $体重;
function 人($値){
$this->体重=$値;
}
function 体重計に乗る(){ return $this->体重;}
function 食べる($量){ $this->体重+=$量;}
}
省8
1-
あと 495 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.011s