見事Perl→PHPへの脱皮に成功した俺様が
両者の違いを中心に講義してやる。
今までPerlマンセーだったやつはこれを機にPHPに変更しよう也。
質問もガンガン書いてくれ。
このPerlの文はPHPだとどう書くの?とか。
【待望】PerlユーザのためのPHP入門
1俺様
03/02/27 15:17ID:tJsRCtRD3俺様
03/02/27 15:19ID:tJsRCtRD まず、両者には似てる部分も非常に多いというのは特徴だ。
例えば変数の宣言、初期化をしてみよう。
$foo = 0;
頭に$をつけるところも、型を特に指定する必要がないことも、
文末は;になることもみんな一緒だ。
ほら、簡単に移行できそうに思えてきただろ?
例えば変数の宣言、初期化をしてみよう。
$foo = 0;
頭に$をつけるところも、型を特に指定する必要がないことも、
文末は;になることもみんな一緒だ。
ほら、簡単に移行できそうに思えてきただろ?
4俺様
03/02/27 15:31ID:tJsRCtRD とりあえずHello, world!を出力してみるぞ。
<?
print "Hello, world!\n";
?>
printの意味はperlと一緒だ。
まあ、printよりecho使う人が多いがそんなに違いはない。
perlユーザならわかりやすい方が(・∀・)イイ!だろう。
プログラムの開始と終了は<?と?>で囲むんだ。
これはPHP特有だから早く覚えよう。
<?じゃなくて<?phpで囲んでもOK。将来XMLとの連携を考えるなら
後者で書く癖をつけたほうが良いとは言われている。
<?
print "Hello, world!\n";
?>
printの意味はperlと一緒だ。
まあ、printよりecho使う人が多いがそんなに違いはない。
perlユーザならわかりやすい方が(・∀・)イイ!だろう。
プログラムの開始と終了は<?と?>で囲むんだ。
これはPHP特有だから早く覚えよう。
<?じゃなくて<?phpで囲んでもOK。将来XMLとの連携を考えるなら
後者で書く癖をつけたほうが良いとは言われている。
5nobodyさん
03/02/27 15:37ID:8ZVFA0UH ↓↓↓↓↓★ココだ★↓↓↓↓↓
http://www.pink-angel.jp/betu/index.html
http://www.pink-angel.jp/betu/index.html
03/02/27 15:39ID:???
PHPでrequireするファイルは必ず<?php ?>で囲まなきゃダメ?
7俺様
03/02/27 15:50ID:tJsRCtRD とりあえずCGIじゃなくてmod_phpを使っていこう。
例えばCGI/Perlの場合、
#!/perl/bin/perl
print "Content-type: text/html\n\n";
print "Hello, world!\n";
簡単なテストスクリプトを書くときも2行目あたりのウザイのを
書く必要があったがmod_phpならそんな必要はない。
とにかく<?と?>で囲めばOKだ。
というわけで課題として、各自ローカルサーバにPHPをインストールしておこう。
PerlユーザならApacheはインストールしてあると思うのでそれを前提とすると、
http://www.php.net/downloads.php
上記サイトにある
Windows Binaries
PHP 4.3.1 zip package [5,853Kb]
を落とすのじゃ。下のPHP 4.3.1 installerの方が楽そうに見えるが
こっちはCGI/PHPとしてしか使えないから駄目。間違えるなよ。
例えばCGI/Perlの場合、
#!/perl/bin/perl
print "Content-type: text/html\n\n";
print "Hello, world!\n";
簡単なテストスクリプトを書くときも2行目あたりのウザイのを
書く必要があったがmod_phpならそんな必要はない。
とにかく<?と?>で囲めばOKだ。
というわけで課題として、各自ローカルサーバにPHPをインストールしておこう。
PerlユーザならApacheはインストールしてあると思うのでそれを前提とすると、
http://www.php.net/downloads.php
上記サイトにある
Windows Binaries
PHP 4.3.1 zip package [5,853Kb]
を落とすのじゃ。下のPHP 4.3.1 installerの方が楽そうに見えるが
こっちはCGI/PHPとしてしか使えないから駄目。間違えるなよ。
8俺様
03/02/27 15:55ID:tJsRCtRD9俺様
03/02/27 15:59ID:tJsRCtRD PHPのインストールについては
詳しく解説しているところを見たほうが早いか。
始めたばかりの頃俺が参考にした所だ。
http://www.php-j.com/tutorial/install/win.php
では各自ローカルでPHPを動かせるようにしておきましょう。
その瞬間からPerlとはおさらばだ!
詳しく解説しているところを見たほうが早いか。
始めたばかりの頃俺が参考にした所だ。
http://www.php-j.com/tutorial/install/win.php
では各自ローカルでPHPを動かせるようにしておきましょう。
その瞬間からPerlとはおさらばだ!
10nobodyさん
03/02/27 16:05ID:??? 俺様、がんがれよ。
11nobodyさん
03/02/27 17:01ID:+18aFIzU12俺様
03/02/27 17:15ID:tJsRCtRD13nobodyさん
03/02/27 17:57ID:??? おお,このスレはありがたい.がんがってください.
14nobodyさん
03/02/27 18:00ID:oT8eTv8K 期待age
15俺様
03/02/27 20:27ID:tJsRCtRD CGI/Perlの場合は
能や予、表などの漢字を使うときに文字化けしないように
\能、\予、\表みたいな面倒な書き方をする必要があっただろう。
PHPでは大半の人がEUCの日本語コードで記述していて
そのような必要はない。
と、言うわけでEUCを読み書き・保存できるエディタを用意しておきましょう。
例えば、Windows標準のメモ帳では無理です。
まあ、ベクターとかでEUCって検索すればすぐに見つかる。
http://channel.goo.ne.jp/download/search/search.php3?MT=euc&CD=1&SW=1&OS=3&category=1&search_num=10
シェアウェアのものでよいならば秀丸やEmEditorがお奨め。
能や予、表などの漢字を使うときに文字化けしないように
\能、\予、\表みたいな面倒な書き方をする必要があっただろう。
PHPでは大半の人がEUCの日本語コードで記述していて
そのような必要はない。
と、言うわけでEUCを読み書き・保存できるエディタを用意しておきましょう。
例えば、Windows標準のメモ帳では無理です。
まあ、ベクターとかでEUCって検索すればすぐに見つかる。
http://channel.goo.ne.jp/download/search/search.php3?MT=euc&CD=1&SW=1&OS=3&category=1&search_num=10
シェアウェアのものでよいならば秀丸やEmEditorがお奨め。
16nobodyさん
03/02/27 21:11ID:??? 質問なんですけど、
関数の引数にハッシュを使う方法ってありますか?
function func($key,$value){
return "$key => $value";
}
$result = func("key"=>"value");
みたいにやりたいのですが
Parse error: parse error, unexpected T_DOUBLE_ARROW
というエラーがでました。
function func($key=>$value){
return "$key => $value";
}
でも無理でした。
関数の引数にハッシュを使う方法ってありますか?
function func($key,$value){
return "$key => $value";
}
$result = func("key"=>"value");
みたいにやりたいのですが
Parse error: parse error, unexpected T_DOUBLE_ARROW
というエラーがでました。
function func($key=>$value){
return "$key => $value";
}
でも無理でした。
17俺様
03/02/27 21:36ID:tJsRCtRD18nobodyさん
03/02/28 04:10ID:??? (PerlCode)
$name="john";
$say=sub{return "My name is $_[0].";};
print &{$say}($name);
はPHPで書くとどうなりますか?
$name="john";
$say=sub{return "My name is $_[0].";};
print &{$say}($name);
はPHPで書くとどうなりますか?
20nobodyさん
03/02/28 08:36ID:???21nobodyさん
03/02/28 09:16ID:TC5rJBdj そんなもんをXHTMLに埋め込んだら、見苦しくて死ぬぞ。
ブラウザでパースもできんようになるし。
MVCにしろや。
ブラウザでパースもできんようになるし。
MVCにしろや。
22俺様
03/02/28 10:31ID:???2318
03/02/28 10:35ID:??? >>20
レスどうもです。
無名サブルーチンみたいなのが使いたいなと思っていたのですが、
create_function関数というのがあるみたいですね。
http://www.php.net/manual/ja/function.create-function.php
<?php
$name="john";
$say=create_function('$name','return "My name is $name.";');
print $say($name);
?>
レスどうもです。
無名サブルーチンみたいなのが使いたいなと思っていたのですが、
create_function関数というのがあるみたいですね。
http://www.php.net/manual/ja/function.create-function.php
<?php
$name="john";
$say=create_function('$name','return "My name is $name.";');
print $say($name);
?>
24俺様
03/02/28 10:51ID:??? Perlでは関数でなくサブルーチンと呼ばれていたな。
sub foo {
print "$_[0] ";
return $_[0]+100;
}
$b= &foo(100)
print $b;;
#100 200
-------------------
function foo($a) {
print "$a ";
return $a+100;
}
$b= foo(100);
print $b;
#100 200
PHPの場合は明示的に引数を記述しておく必要がある。
可変引数は配列を渡せば良いだろう。Perlも実際は@_という配列を渡しているわけだし。
まあ、こうやって見ると両方大した違いは無く見えるが
変数のスコープについて根本的な違いがあるので注意しよう。
それについては後述。
sub foo {
print "$_[0] ";
return $_[0]+100;
}
$b= &foo(100)
print $b;;
#100 200
-------------------
function foo($a) {
print "$a ";
return $a+100;
}
$b= foo(100);
print $b;
#100 200
PHPの場合は明示的に引数を記述しておく必要がある。
可変引数は配列を渡せば良いだろう。Perlも実際は@_という配列を渡しているわけだし。
まあ、こうやって見ると両方大した違いは無く見えるが
変数のスコープについて根本的な違いがあるので注意しよう。
それについては後述。
25俺様
03/02/28 11:03ID:0fBPA0cl いちいち引数を書くとは面倒になったと言う人もいるだろうが、
おかげでデフォルト引数を簡単に実現できる。
<?php
function foo2($a ="俺様") {
print "$a は凄い<br>";
}
foo2("お前");
foo2();
?>
/*
お前 は凄い
俺様 は凄い
*/
引数を指定しなかったら勝手に俺様が凄くなってくれるのだ。
おかげでデフォルト引数を簡単に実現できる。
<?php
function foo2($a ="俺様") {
print "$a は凄い<br>";
}
foo2("お前");
foo2();
?>
/*
お前 は凄い
俺様 は凄い
*/
引数を指定しなかったら勝手に俺様が凄くなってくれるのだ。
26nobodyさん
03/02/28 11:04ID:??? 講座スレ作ろうとする奴って大体理論が崩壊してるよな・・・。
27nobodyさん
03/02/28 11:04ID:??? Perlでは関数でなくサブルーチンと呼ばれていたな。
sub foo {
print "$_[0] ";
return $_[0]+100;
}
$b= &foo(100)
print $b;;
#100 200
-------------------
function foo($a) {
print "$a ";
return $a+100;
}
$b= foo(100);
print $b;
#100 200
PHPの場合は明示的に引数を記述しておく必要がある。
可変引数は配列を渡せば良いだろう。Perlも実際は@_という配列を渡しているわけだし。
まあ、こうやって見ると両方大した違いは無く見えるが
変数のスコープについて根本的な違いがあるので注意しよう。
それについては後述。
sub foo {
print "$_[0] ";
return $_[0]+100;
}
$b= &foo(100)
print $b;;
#100 200
-------------------
function foo($a) {
print "$a ";
return $a+100;
}
$b= foo(100);
print $b;
#100 200
PHPの場合は明示的に引数を記述しておく必要がある。
可変引数は配列を渡せば良いだろう。Perlも実際は@_という配列を渡しているわけだし。
まあ、こうやって見ると両方大した違いは無く見えるが
変数のスコープについて根本的な違いがあるので注意しよう。
それについては後述。
28俺様
03/02/28 11:08ID:0fBPA0cl これかいてる間に重要なこと思い出した。
#Perl code
$a=26;
print "$aゲット";
#26ゲット
-------------
#PHP code
$a=26;
print "$aゲット";
#(何も表示されない)
----------------------
両者にはこのような違いが起きてしまう。
下はどうすればよいのか各自考えてみましょう。
出かけるので解答は夜で。
#Perl code
$a=26;
print "$aゲット";
#26ゲット
-------------
#PHP code
$a=26;
print "$aゲット";
#(何も表示されない)
----------------------
両者にはこのような違いが起きてしまう。
下はどうすればよいのか各自考えてみましょう。
出かけるので解答は夜で。
29俺様
03/02/28 11:09ID:0fBPA0cl 26ゲットできなかったヽ(`Д´)ノ
30俺様
03/02/28 11:10ID:0fBPA0cl31nobodyさん
03/02/28 11:13ID:njt3nQcM32nobodyさん
03/02/28 11:19ID:??? 結構見やすいPerl/PHPの構文比較のページ見つけました。
Perl/Php Translation
http://www.cs.wcupa.edu/~rkline/perl2php/
既出だったらゴメン。
Perl/Php Translation
http://www.cs.wcupa.edu/~rkline/perl2php/
既出だったらゴメン。
33俺様
03/02/28 11:21ID:0fBPA0cl34nobodyさん
03/02/28 11:25ID:???35nobodyさん
03/02/28 11:26ID:??? Perlでは関数でなくサブルーチンと呼ばれていたな。
sub foo {
print "$_[0] ";
return $_[0]+100;
}
$b= &foo(100)
print $b;;
#100 200
-------------------
function foo($a) {
print "$a ";
return $a+100;
}
$b= foo(100);
print $b;
#100 200
PHPの場合は明示的に引数を記述しておく必要がある。
可変引数は配列を渡せば良いだろう。Perlも実際は@_という配列を渡しているわけだし。
まあ、こうやって見ると両方大した違いは無く見えるが
変数のスコープについて根本的な違いがあるので注意しよう。
それについては後述。
Perlでは関数でなくサブルーチンと呼ばれていたな。
sub foo {
print "$_[0] ";
sub foo {
print "$_[0] ";
return $_[0]+100;
}
$b= &foo(100)
print $b;;
#100 200
-------------------
function foo($a) {
print "$a ";
return $a+100;
}
$b= foo(100);
print $b;
#100 200
PHPの場合は明示的に引数を記述しておく必要がある。
可変引数は配列を渡せば良いだろう。Perlも実際は@_という配列を渡しているわけだし。
まあ、こうやって見ると両方大した違いは無く見えるが
変数のスコープについて根本的な違いがあるので注意しよう。
それについては後述。
Perlでは関数でなくサブルーチンと呼ばれていたな。
sub foo {
print "$_[0] ";
36nobodyさん
03/02/28 11:32ID:??? >>28
変数名の後ろは全角文字でもダメみたいですね。
(半角の「.」はOKだった)
#PHP code
$a=26;
print $a."ゲット";
#26ゲット
#PHP code
$a=26;
print "$a.ゲット";
#26.ゲット
変数名の後ろは全角文字でもダメみたいですね。
(半角の「.」はOKだった)
#PHP code
$a=26;
print $a."ゲット";
#26ゲット
#PHP code
$a=26;
print "$a.ゲット";
#26.ゲット
38nobodyさん
03/02/28 12:12ID:??? Perlでは関数でなくサブルーチンと呼ばれていたな。
sub foo {
print "$_[0] ";
return $_[0]+100;
}
$b= &foo(100)
print $b;;
#100 200
-------------------
function foo($a) {
print "$a ";
return $a+100;
}
$b= foo(100);
print $b;
#100 200
PHPの場合は明示的に引数を記述しておく必要がある。
可変引数は配列を渡せば良いだろう。Perlも実際は@_という配列を渡しているわけだし。
まあ、こうやって見ると両方大した違いは無く見えるが
変数のスコープについて根本的な違いがあるので注意しよう。
それについては後述。
Perlでは関数でなくサブルーチンと呼ばれていたな。
sub foo {
print "$_[0] ";
sub foo {
print "$_[0] ";
return $_[0]+100;
}
$b= &foo(100)
print $b;;
#100 200
-------------------
function foo($a) {
print "$a ";
return $a+100;
}
$b= foo(100);
print $b;
#100 200
PHPの場合は明示的に引数を記述しておく必要がある。
可変引数は配列を渡せば良いだろう。Perlも実際は@_という配列を渡しているわけだし。
まあ、こうやって見ると両方大した違いは無く見えるが
変数のスコープについて根本的な違いがあるので注意しよう。
それについては後述。
Perlでは関数でなくサブルーチンと呼ばれていたな。
sub foo {
print "$_[0] ";
39nobodyさん
03/02/28 12:41ID:??? シフトJISでがんがん書いてます。
40俺様
03/02/28 20:06ID:R6lXT7Vm41俺様
03/02/28 20:12ID:R6lXT7Vm 些細なことに見えるが、
自分はこのせいで某スクリプトを
PerlからPHPに移植する際に、
30分ぐらい睨めっこした記憶があるので。
頭の中に入れて起きましょう。
$a=26;
print "{$a}ゲット";
print $a."ゲット";
自分はこのせいで某スクリプトを
PerlからPHPに移植する際に、
30分ぐらい睨めっこした記憶があるので。
頭の中に入れて起きましょう。
$a=26;
print "{$a}ゲット";
print $a."ゲット";
42nobodyさん
03/03/01 11:16ID:5K/2+grl 先生質問です。
>>9の通りしましたがapacheが起動できません。
どうやらhttpd.confのLoadModule php4_module C:/php/sapi/php4apache.dllが原因のようです
php4apache.dllをphp4apache2.dllとしても同じでした。
WinME Apache2.0.39です
>>9の通りしましたがapacheが起動できません。
どうやらhttpd.confのLoadModule php4_module C:/php/sapi/php4apache.dllが原因のようです
php4apache.dllをphp4apache2.dllとしても同じでした。
WinME Apache2.0.39です
44俺様
03/03/01 12:12ID:UE12tRyA45nobodyさん
03/03/01 12:41ID:5K/2+grl >>44
ありがとうございます。1.3.27を使ったら起動できました。
ありがとうございます。1.3.27を使ったら起動できました。
46nobodyさん
03/03/01 16:35ID:??? | | ∧
|_|Д`) < それだー!!
|文|⊂)
| ̄|∧|
 ̄ ̄ ̄ ̄ ̄
| | ∧
|_|Д`) < それだー!!
|文|⊂)
| ̄|∧|
 ̄ ̄ ̄ ̄ ̄
| | ∧
|_|Д`) < それだー!!
|文|⊂)
| ̄|∧|
 ̄ ̄ ̄ ̄ ̄
| | ∧
|_|Д`) < それだー!!
|文|⊂)
| ̄|∧|
 ̄ ̄ ̄ ̄ ̄
| | ∧
|_|Д`) < それだー!!
|文|⊂)
| ̄|∧|
 ̄ ̄ ̄ ̄ ̄
|_|Д`) < それだー!!
|文|⊂)
| ̄|∧|
 ̄ ̄ ̄ ̄ ̄
| | ∧
|_|Д`) < それだー!!
|文|⊂)
| ̄|∧|
 ̄ ̄ ̄ ̄ ̄
| | ∧
|_|Д`) < それだー!!
|文|⊂)
| ̄|∧|
 ̄ ̄ ̄ ̄ ̄
| | ∧
|_|Д`) < それだー!!
|文|⊂)
| ̄|∧|
 ̄ ̄ ̄ ̄ ̄
| | ∧
|_|Д`) < それだー!!
|文|⊂)
| ̄|∧|
 ̄ ̄ ̄ ̄ ̄
48俺様
03/03/01 17:05ID:UE12tRyA >>47
世の中は理詰めだけでは解決しない。
理論ヲタになるより、わかりやすさを求める方が現実的だ。
わかるかい?
しかも、PHPと直接は関係ない。
君は文学者がテイラー展開を出来なかったら馬鹿にするだろうか?
では、今日はいよいよ変数のスコープについての説明だ。
あくまでも対象者は基本的に『Perlしか』やったことがない人のみ。
C言語など他の言語をやっている人には馬鹿見たく思われる説明になるからだ。
世の中は理詰めだけでは解決しない。
理論ヲタになるより、わかりやすさを求める方が現実的だ。
わかるかい?
しかも、PHPと直接は関係ない。
君は文学者がテイラー展開を出来なかったら馬鹿にするだろうか?
では、今日はいよいよ変数のスコープについての説明だ。
あくまでも対象者は基本的に『Perlしか』やったことがない人のみ。
C言語など他の言語をやっている人には馬鹿見たく思われる説明になるからだ。
49nobodyさん
03/03/01 17:07ID:???50俺様
03/03/01 17:30ID:UE12tRyA >>49
俺様はべつにオペレーティングシステムのエキスパートを目指してはいないッポ。
#Perlscript
sub foo{
$a = 100;
print "$a,";
$a++;
}
&foo();
print $a;
#100,101
まあ、当たり前の結果が表示されます。
これをPHPに書き換えてみましょう。
俺様はべつにオペレーティングシステムのエキスパートを目指してはいないッポ。
#Perlscript
sub foo{
$a = 100;
print "$a,";
$a++;
}
&foo();
print $a;
#100,101
まあ、当たり前の結果が表示されます。
これをPHPに書き換えてみましょう。
51俺様
03/03/01 17:34ID:UE12tRyA #PHPscript
<?php
function foo(){
$a = 100;
print "$a,";
$a++;
}
foo();
print $a;
?>
# 100,
何故か100しか表示されません!?( ̄□ ̄;)ナント!!
どうして後ろの$aは表示されなかったのでしょうかという問題です。
<?php
function foo(){
$a = 100;
print "$a,";
$a++;
}
foo();
print $a;
?>
# 100,
何故か100しか表示されません!?( ̄□ ̄;)ナント!!
どうして後ろの$aは表示されなかったのでしょうかという問題です。
52俺様
03/03/01 17:41ID:UE12tRyA 同様の例です。
#Perl
sub hoge{
print $a;
}
$a="俺様";
&hoge;
----------
#PHP
function hoge(){
print $a;
}
$a="俺様";
hoge();
Perlの方だと見事、俺様と表示されるのですが、
後者の方は何も表示されないので吃驚仰天です。
#Perl
sub hoge{
print $a;
}
$a="俺様";
&hoge;
----------
#PHP
function hoge(){
print $a;
}
$a="俺様";
hoge();
Perlの方だと見事、俺様と表示されるのですが、
後者の方は何も表示されないので吃驚仰天です。
53nobodyさん
03/03/01 17:47ID:???58俺様
03/03/01 19:06ID:UE12tRyA59nobodyさん
03/03/01 19:09ID:xu/mDseR60nobodyさん
03/03/01 19:29ID:??? >>50-51
Perlがデフォルトでグローバル変数なのに対して、
PHPでは、デフォルトでローカル変数だから。
#PHPscript
<?php
function foo(){
$a = 100;
print "$a,";
$a++;
}
foo();
print $a;
?>
は
#Perlscript
sub foo{
my $a = 100;
print "$a,";
$a++;
}
&foo;
print $a;
と同じ
#始めたばかりなので全く同じかどうかとか用語の使い方は正しくないかもしれません
Perlがデフォルトでグローバル変数なのに対して、
PHPでは、デフォルトでローカル変数だから。
#PHPscript
<?php
function foo(){
$a = 100;
print "$a,";
$a++;
}
foo();
print $a;
?>
は
#Perlscript
sub foo{
my $a = 100;
print "$a,";
$a++;
}
&foo;
print $a;
と同じ
#始めたばかりなので全く同じかどうかとか用語の使い方は正しくないかもしれません
61nobodyさん
03/03/01 19:56ID:??? #PHPscript
<?php
$a = 999;
function foo(){
$a = 100;
print "$a,";
$a++;
}
foo();
print $a;
?>
#100,999
なーる。
<?php
$a = 999;
function foo(){
$a = 100;
print "$a,";
$a++;
}
foo();
print $a;
?>
#100,999
なーる。
62俺様
03/03/01 19:58ID:gsC9ephA >>60
(*゚▽゚ノノ゙☆パチパチ
Perlにおいていわゆるmyを付けた場合が
PHPでは標準になっています。
C言語などの場合はコンパイル時に
未定義(未宣言)の変数だ!ってエラーを出してくれるのですが、
PHPではそのまま初期値(文字なら空白、数字なら0)として
認識してしまうので注意しましょう。
結構すんなり受け入れられるのかなー?
普段からmyを使ったりしている人なら問題ないだろうけど
プログラミング言語をPerlしかやってないでグローバルなのが当たり前だって
思ってた人には受け入れるのに時間が掛かるかもしれない。
そんなことないか?どうだろう。
(*゚▽゚ノノ゙☆パチパチ
Perlにおいていわゆるmyを付けた場合が
PHPでは標準になっています。
C言語などの場合はコンパイル時に
未定義(未宣言)の変数だ!ってエラーを出してくれるのですが、
PHPではそのまま初期値(文字なら空白、数字なら0)として
認識してしまうので注意しましょう。
結構すんなり受け入れられるのかなー?
普段からmyを使ったりしている人なら問題ないだろうけど
プログラミング言語をPerlしかやってないでグローバルなのが当たり前だって
思ってた人には受け入れるのに時間が掛かるかもしれない。
そんなことないか?どうだろう。
63nobodyさん
03/03/01 20:01ID:Ddm3hU+C Perlってなんて読むの?
64俺様
03/03/01 20:08ID:gsC9ephA 逆にPerlの標準のようにグローバル(大域)変数として
扱いたい場合も書いておきましょう。
これはCやJavaとも違う仕様ですね。
関数内の最初でglobalと宣言します。
なお、PHPの設定でregister_globalsをonにすると
また違うようなのですが、デフォルトはoffで推奨となっているのでそれに従います。
<?php
$a = 999;
function foo(){
global $a; //これでグローバルスコープの$aを参照しますよと宣言している。
print "$a,";
$a++;
}
foo();
print $a;
?>
#999,1000
因みに、function foo()はどこに書いてもOKです。
(PHP3だったころは駄目だったとか・・・)
>>63
[p:(r)l]
扱いたい場合も書いておきましょう。
これはCやJavaとも違う仕様ですね。
関数内の最初でglobalと宣言します。
なお、PHPの設定でregister_globalsをonにすると
また違うようなのですが、デフォルトはoffで推奨となっているのでそれに従います。
<?php
$a = 999;
function foo(){
global $a; //これでグローバルスコープの$aを参照しますよと宣言している。
print "$a,";
$a++;
}
foo();
print $a;
?>
#999,1000
因みに、function foo()はどこに書いてもOKです。
(PHP3だったころは駄目だったとか・・・)
>>63
[p:(r)l]
65俺様
03/03/01 20:25ID:UE12tRyA Perlには静的(スタティック)変数が無かったと思うので
それについても書いておきましょう。
function foo(){
static $a=0;
print $a;
$a++;
}
for($i=0;$i<5;$i++){
foo();
}
#01234
このようにすると
最初にfoo()が呼ばれたときのみstatic $a=0が呼ばれてくれるのです。
以降、foo()が呼ばれるたびに$aは1ずつ増加してくれます。
staticをつけないと毎回0が出力されてしまいますね。
変数のスコープは関数内のみなのに値を保持していてくれるわけです。
globalでは無いので関数外部から直接$aの値をいじることは出来ません。
それについても書いておきましょう。
function foo(){
static $a=0;
print $a;
$a++;
}
for($i=0;$i<5;$i++){
foo();
}
#01234
このようにすると
最初にfoo()が呼ばれたときのみstatic $a=0が呼ばれてくれるのです。
以降、foo()が呼ばれるたびに$aは1ずつ増加してくれます。
staticをつけないと毎回0が出力されてしまいますね。
変数のスコープは関数内のみなのに値を保持していてくれるわけです。
globalでは無いので関数外部から直接$aの値をいじることは出来ません。
66生徒B
03/03/01 20:39ID:??? perlの use strict; のような未定義変数をチェックする方法はPHPに無いのでしょうか。
67nobodyさん
03/03/01 20:50ID:??? {
my $static = 0;
sub foo () {
return ++$static;
}
}
my $static = 0;
sub foo () {
return ++$static;
}
}
68nobodyさん
03/03/01 21:03ID:b+i+15ud だめだ・・・functionの時点でわからそ。
69俺様
03/03/01 21:27ID:UE12tRyA >>66
すまんが俺様は知らんな。
全ての定義済の変数を配列で返すような
関数ならあるが。
<?php
$def_arr= get_defined_vars();
//初期設定(_SERVER["SERVER_ADDR"]のようなもの)
//を含む全ての定義済みの変数の配列を得る)
$a=3;
$abc=10;
$arr = get_defined_vars();
//初期設定のものに上の2つが追加された。
$new_arr = array_diff($arr,$def_arr);
//2つの配列の差を得る。
print_r($new_arr);//配列の内容を出力
?>
#Array ( [a] => 3 [abc] => 10 )
すまんが俺様は知らんな。
全ての定義済の変数を配列で返すような
関数ならあるが。
<?php
$def_arr= get_defined_vars();
//初期設定(_SERVER["SERVER_ADDR"]のようなもの)
//を含む全ての定義済みの変数の配列を得る)
$a=3;
$abc=10;
$arr = get_defined_vars();
//初期設定のものに上の2つが追加された。
$new_arr = array_diff($arr,$def_arr);
//2つの配列の差を得る。
print_r($new_arr);//配列の内容を出力
?>
#Array ( [a] => 3 [abc] => 10 )
70nobodyさん
03/03/01 21:29ID:???71俺様
03/03/01 21:32ID:UE12tRyA72俺様
03/03/01 21:35ID:UE12tRyA >>68
Perlをある程度理解していれば
わかるようにしたいのだが、
(Perlも未経験という場合はちょっと厳しいです。)
どこら辺がわからんだろうか?
とりあえずPerlのsubをfunctionに置き換えちゃえばOKだ。
Perlをある程度理解していれば
わかるようにしたいのだが、
(Perlも未経験という場合はちょっと厳しいです。)
どこら辺がわからんだろうか?
とりあえずPerlのsubをfunctionに置き換えちゃえばOKだ。
73nobodyさん
03/03/01 21:35ID:???75nobodyさん
03/03/01 22:00ID:???77nobodyさん
03/03/01 22:16ID:???78生徒B
03/03/01 22:22ID:??? <?php
error_reporting(E_ALL);
print $a;
?>
#<b>Notice</b>: Undefined variable: a in <b> (filename)
# </b> on line <b>3</b><br />
>>76
ありがとう。うまくいきました。
error_reporting(E_ALL);
print $a;
?>
#<b>Notice</b>: Undefined variable: a in <b> (filename)
# </b> on line <b>3</b><br />
>>76
ありがとう。うまくいきました。
79nobodyさん
03/03/01 22:23ID:???80俺様
03/03/01 22:30ID:UE12tRyA81nobodyさん
03/03/01 22:35ID:??? あいだに空を入れる人生。色即是空(w
82nobodyさん
03/03/02 00:05ID:???83俺様
03/03/02 19:03ID:SRraTB8e よっしゃ!早くも寂れてきたぞ。今日は配列について書いておこう。
まず、Perlの場合配列値を表す変数は先頭が$でなく@になっていた。
しかしPHPではそんな面倒なことはない。どんな場合でも先頭は$でOKだ!
凄い楽そうだろ?(祝
初期化の差はこんな感じだ。
#Perl
@a = (20,10,30,3);
#PHP
$a = array(20,10,30,3);
arrayって余計な文字が付いたが細かいことは気にするな。
まず、Perlの場合配列値を表す変数は先頭が$でなく@になっていた。
しかしPHPではそんな面倒なことはない。どんな場合でも先頭は$でOKだ!
凄い楽そうだろ?(祝
初期化の差はこんな感じだ。
#Perl
@a = (20,10,30,3);
#PHP
$a = array(20,10,30,3);
arrayって余計な文字が付いたが細かいことは気にするな。
84俺様
03/03/02 19:10ID:SRraTB8e 驚くことにPHPでは
$a[] = "a";
$a[] = "b";
$a[] = "c";
$a[0] = "a";
$a[1] = "b";
$a[2] = "c";
この2つが同じ意味となるのだ。
角括弧内の数字を省略した場合、
値は配列に最後の要素として勝手に追加してくれる。
まあ、こういう独自仕様は混乱の元だから俺は上の形式で書いたことは無いがな。
わかった上で使うなら利用場面は結構多いかもしれない。
$a[] = "a";
$a[] = "b";
$a[] = "c";
$a[0] = "a";
$a[1] = "b";
$a[2] = "c";
この2つが同じ意味となるのだ。
角括弧内の数字を省略した場合、
値は配列に最後の要素として勝手に追加してくれる。
まあ、こういう独自仕様は混乱の元だから俺は上の形式で書いたことは無いがな。
わかった上で使うなら利用場面は結構多いかもしれない。
85nobodyさん
03/03/02 19:12ID:L99j8QKU ↓↓↓↓↓★ピンクエンジェル★↓↓↓↓↓
http://www.pink-angel.jp/betu/linkvp/linkvp.html
http://www.pink-angel.jp/betu/linkvp/linkvp.html
86俺様
03/03/02 19:19ID:SRraTB8e87俺様
03/03/02 19:26ID:FrxqKaYz 多次元配列は一つ注意を。
これは前も似たようなこと言ったが
$a[0][1] = 41;
print "$a[0][1]";
Perlだと期待する結果41が出力されるが、
PHPだとArray[1]という怪しげな結果が出力されてしまう。
後ろの[1]はただの文字列として認識されてしまっているようなのだ。
以下のどちらかにしないといけない。
$a[0][1] = 41;
print "{$a[0][1]}";
print "".$a[0][1];
これは前も似たようなこと言ったが
$a[0][1] = 41;
print "$a[0][1]";
Perlだと期待する結果41が出力されるが、
PHPだとArray[1]という怪しげな結果が出力されてしまう。
後ろの[1]はただの文字列として認識されてしまっているようなのだ。
以下のどちらかにしないといけない。
$a[0][1] = 41;
print "{$a[0][1]}";
print "".$a[0][1];
88俺様
03/03/02 19:28ID:FrxqKaYz まあ、おかしくなったらまずは変数を{}で括ってみろってことだ。
89nobodyさん
03/03/02 19:51ID:??? @a{qw(a b c)} = @b[1..3];
こういうのはどう書く?
こういうのはどう書く?
90nobodyさん
03/03/02 20:32ID:???91俺様
03/03/02 21:07ID:FrxqKaYz >>89
うーん、よくわからんな(汗
誰かわかる人募集中だ!
まあ、とりあえず根性で全部書いておけ。
$a = array(
"a" => $b[1],
"b" => $b[2],
"c" => $b[3],
)
うーん、よくわからんな(汗
誰かわかる人募集中だ!
まあ、とりあえず根性で全部書いておけ。
$a = array(
"a" => $b[1],
"b" => $b[2],
"c" => $b[3],
)
92nobodyさん
03/03/02 23:06ID:??? なんで、空投稿するんだよ。見ずらいんだよ。
93nobodyさん
03/03/02 23:16ID:??? 日本語すら満足に書けない俺様が講師のクソスレはここですか?
見ずらいんだよ。
見ずらいんだよ。
見ずらいんだよ。
見ずらいんだよ。
見ずらいんだよ。
見ずらいんだよ。
見ずらいんだよ。
見ずらいんだよ。
見ずらいんだよ。
見ずらいんだよ。
見ずらいんだよ。
見ずらいんだよ。
見ずらいんだよ。
見ずらいんだよ。
見ずらいんだよ。
見ずらいんだよ。
見ずらいんだよ。
見ずらいんだよ。
見ずらいんだよ。
見ずらいんだよ。
見ずらいんだよ。
見ずらいんだよ。
見ずらいんだよ。
見ずらいんだよ。
見ずらいんだよ。
見ずらいんだよ。
見ずらいんだよ。
見ずらいんだよ。
見ずらいんだよ。
見ずらいんだよ。
見ずらいんだよ。
見ずらいんだよ。
見ずらいんだよ。
見ずらいんだよ。
見ずらいんだよ。
見ずらいんだよ。
見ずらいんだよ。
見ずらいんだよ。
見ずらいんだよ。
見ずらいんだよ。
見ずらいんだよ。
見ずらいんだよ。
見ずらいんだよ。
見ずらいんだよ。
94nobodyさん
03/03/02 23:20ID:??? ねちっこいね。うざいというかきもい。
95nobodyさん
03/03/02 23:27ID:??? ∧_∧
( ´∀`)<きもい。きもい。
( つ
(_○___)
( ´∀`)<きもい。きもい。
( つ
(_○___)
96nobodyさん
03/03/02 23:31ID:??? 見づらいんだよ。でした。すまん。
俺は「俺様」じゃないです。
俺は「俺様」じゃないです。
97nobodyさん
03/03/03 04:20ID:??? 普通に見てる人もいるんで、煽ってるやつらマジでどっかいって。
99俺様
03/03/03 10:08ID:gt/b6+qo 煽りでもレスが付かないよりは大歓迎だ!
>>98
需要も少しはあるようだからまあ、多めに見てもいいじゃないか。
WebProg板ってスレ保持数に比べて活性化しているスレ数が非常に少ないから
他のスレがdat落ちして困るとかも無いしな。ウザかったら見なければ(・∀・)イイ!
2chブラウザ使ってこのスレごとあぼーんだ。
>>98
需要も少しはあるようだからまあ、多めに見てもいいじゃないか。
WebProg板ってスレ保持数に比べて活性化しているスレ数が非常に少ないから
他のスレがdat落ちして困るとかも無いしな。ウザかったら見なければ(・∀・)イイ!
2chブラウザ使ってこのスレごとあぼーんだ。
100俺様
03/03/03 10:33ID:gt/b6+qo 今日はオブジェクト指向について書いておこう。
PHPもPerlもJavaやC++に代表されるオブジェクト指向言語である。
Perlのオブジェクト指向についてあまり知らないんですが、
Javaに比べるとPHPのオブジェクト指向に関する仕様は
ショボイ!!!!
今年中に出る予定のPHP5で大幅に機能がアップするらしいので
それに期待しましょう。
PHPもPerlもJavaやC++に代表されるオブジェクト指向言語である。
Perlのオブジェクト指向についてあまり知らないんですが、
Javaに比べるとPHPのオブジェクト指向に関する仕様は
ショボイ!!!!
今年中に出る予定のPHP5で大幅に機能がアップするらしいので
それに期待しましょう。
101俺様
03/03/03 10:48ID:gt/b6+qo まず、誰でも最初に疑問に思うのが
オブジェクト指向を用いるメリットは何か?
ということだ。
再利用ができる?
そんなのオブジェクト指向じゃなくてもしてるじゃないか。
我々はprintという出力命令を何度も利用している。
printの命令が内部でどういう仕組みになっているか調べたことのある人は極少数だろう。
オブジェクト指向を用いるメリットは何か?
ということだ。
再利用ができる?
そんなのオブジェクト指向じゃなくてもしてるじゃないか。
我々はprintという出力命令を何度も利用している。
printの命令が内部でどういう仕組みになっているか調べたことのある人は極少数だろう。
102俺様
03/03/03 11:12ID:gt/b6+qo まあ、オブジェクト指向をうまく使えば
再利用『しやすく』はなるだろう。
まず、カプセル化(データ隠蔽)というものがある。
人間というオブジェクトの例で考えてみよう。
人間は体重というデータを持っているが
我々は外見から見ただけでは体重を正確には知れない。
例えば、彼に『体重計に乗れ』ってメッセージを送れば
正確な体重を得ることが出来る。
同様に体重に『直接』アクセスして値を変えることは出来ない。
彼に『〜を食べろ』ってメッセージを送れば
その食べた分だけ体重が増加してくれるのである。
つまり、内部で保持しているデータを隠蔽できて、
見たり変えたりするには間接的にアクセスする必要があるということなのだが、
PHPではアクセサ(アクセス制限)の概念が存在しないため
このカプセル化があっさり崩壊してしまう。
再利用『しやすく』はなるだろう。
まず、カプセル化(データ隠蔽)というものがある。
人間というオブジェクトの例で考えてみよう。
人間は体重というデータを持っているが
我々は外見から見ただけでは体重を正確には知れない。
例えば、彼に『体重計に乗れ』ってメッセージを送れば
正確な体重を得ることが出来る。
同様に体重に『直接』アクセスして値を変えることは出来ない。
彼に『〜を食べろ』ってメッセージを送れば
その食べた分だけ体重が増加してくれるのである。
つまり、内部で保持しているデータを隠蔽できて、
見たり変えたりするには間接的にアクセスする必要があるということなのだが、
PHPではアクセサ(アクセス制限)の概念が存在しないため
このカプセル化があっさり崩壊してしまう。
103俺様
03/03/03 11:35ID:gt/b6+qo 再利用のためのもう一つの便利な機能は『継承』だろう。
既存のクラスのフィールド(データ)やメソッド(機能)を引き継いで、
その上で既存の機能を修正したり新たに追加したりできるようになる。
まあ、言い方を変えれば『継ぎはぎ』みたいなものだ。
PHPでは多重継承が存在しない。
つまり、あるクラスに対して1つの親クラスからしか
フィールドやメソッドを引き継げないということだ。
同じく多重継承が禁じられているJavaではこのようなことがしたければ
interfaceで代替が可能だが、
PHPではその代替案すら用意されていない。
多重継承なんかしなくてもプログラムは作れるという主張も根強いが、
まあ、それを言ったら継承なんかしなくてもプログラムを作れる
と言っても同じようなことである。
既存のクラスのフィールド(データ)やメソッド(機能)を引き継いで、
その上で既存の機能を修正したり新たに追加したりできるようになる。
まあ、言い方を変えれば『継ぎはぎ』みたいなものだ。
PHPでは多重継承が存在しない。
つまり、あるクラスに対して1つの親クラスからしか
フィールドやメソッドを引き継げないということだ。
同じく多重継承が禁じられているJavaではこのようなことがしたければ
interfaceで代替が可能だが、
PHPではその代替案すら用意されていない。
多重継承なんかしなくてもプログラムは作れるという主張も根強いが、
まあ、それを言ったら継承なんかしなくてもプログラムを作れる
と言っても同じようなことである。
104俺様
03/03/03 12:07ID:gt/b6+qo 1つぐらいサンプルを書いてみよう。
因みに、このように変数に日本語使っても大丈夫だ。
(普段はお奨めしない。)
<?php
class 人{ //クラス名
var $体重; //フィールド
function 人($値){ //コンストラクタ(初期化)
$this->体重=$値; //値をフィールドへ代入
}
function 体重計に乗る(){ return $this->体重;} //体重を出力するメソッド
function 食べる($量){ $this->体重+=$量;} //体重を量だけ加える
}
$俺様=new 人(60);
print $俺様->体重計に乗る();
print ",";
$俺様->食べる(0.5);
print $俺様->体重計に乗る();
#60,60.5
?>
因みに、このように変数に日本語使っても大丈夫だ。
(普段はお奨めしない。)
<?php
class 人{ //クラス名
var $体重; //フィールド
function 人($値){ //コンストラクタ(初期化)
$this->体重=$値; //値をフィールドへ代入
}
function 体重計に乗る(){ return $this->体重;} //体重を出力するメソッド
function 食べる($量){ $this->体重+=$量;} //体重を量だけ加える
}
$俺様=new 人(60);
print $俺様->体重計に乗る();
print ",";
$俺様->食べる(0.5);
print $俺様->体重計に乗る();
#60,60.5
?>
105俺様
03/03/03 12:10ID:gt/b6+qo クラス内で自分自身のフィールドにアクセスするのにも
$this->体重
このように$thisとかいうものが必要なのだ。
(Javaの場合は省略可能)
これは長いコードを書こうとするとわかるが面倒すぎ。
$this->体重
このように$thisとかいうものが必要なのだ。
(Javaの場合は省略可能)
これは長いコードを書こうとするとわかるが面倒すぎ。
106俺様
03/03/03 12:16ID:gt/b6+qo ここで>>102で指摘した問題が起きる。
<?php
class 人{
var $体重;
function 人($値){
$this->体重=$値;
}
function 体重計に乗る(){ return $this->体重;}
function 食べる($量){ $this->体重+=$量;}
}
$俺様=new 人(60);
$俺様->体重 = 200; //おいおい、勝手に体重変えられたYO!
print $俺様->体重; //体重計使わなくても調べられるのかYO!
#200 俺は相撲取りじゃねえYO!
?>
てなわけで体重計とかのメソッドを作る意味がなくなってしまうのだ。
(Javaの場合はフィールドの前にprivateを付けるなどすれば
このような直接アクセスを防ぐことが出来る。)
<?php
class 人{
var $体重;
function 人($値){
$this->体重=$値;
}
function 体重計に乗る(){ return $this->体重;}
function 食べる($量){ $this->体重+=$量;}
}
$俺様=new 人(60);
$俺様->体重 = 200; //おいおい、勝手に体重変えられたYO!
print $俺様->体重; //体重計使わなくても調べられるのかYO!
#200 俺は相撲取りじゃねえYO!
?>
てなわけで体重計とかのメソッドを作る意味がなくなってしまうのだ。
(Javaの場合はフィールドの前にprivateを付けるなどすれば
このような直接アクセスを防ぐことが出来る。)
107俺様
03/03/03 12:26ID:gt/b6+qo コンストラクタと言うのは結構便利なんだがな。
<?php
class 人
{
var $体重;
function 人($値){
if($値<0) print "( ´,_ゝ`)プ";
else $this->体重=$値;
}
}
$俺様=new 人(-20);
#( ´,_ゝ`)プ
?>
このように体重に負の値が入れられるのを
防ぐことが出来る。
まあ、>>106のようにされたら結局は意味が無いのだが・・・
<?php
class 人
{
var $体重;
function 人($値){
if($値<0) print "( ´,_ゝ`)プ";
else $this->体重=$値;
}
}
$俺様=new 人(-20);
#( ´,_ゝ`)プ
?>
このように体重に負の値が入れられるのを
防ぐことが出来る。
まあ、>>106のようにされたら結局は意味が無いのだが・・・
108俺様
03/03/03 12:30ID:gt/b6+qo というわけで長くなったが
PHPのオブジェクト指向は
現在の仕様では大したことがないということで
積極的に使う必要は無いだろう。
機能をグループ化したい人とか、
『何となくかっこいいことしたい人とか』
(ただし、使い方を誤ると逆にかっこ悪くなる)
にはしても損は無い程度だろうか。
いずれにしてもPHP5に期待。
PHPのオブジェクト指向は
現在の仕様では大したことがないということで
積極的に使う必要は無いだろう。
機能をグループ化したい人とか、
『何となくかっこいいことしたい人とか』
(ただし、使い方を誤ると逆にかっこ悪くなる)
にはしても損は無い程度だろうか。
いずれにしてもPHP5に期待。
109俺様
03/03/03 12:33ID:gt/b6+qo 否定的なことばかり書いてたが
最近の本とか見るとメリットしか書いてなくて
オブジェクト指向マンセーになる奴が多すぎる気がするから
敢えて逆行して書いただけで、
メリットをもっと強調するのなら実際は
そこまでひどいわけでもないがな。
最近の本とか見るとメリットしか書いてなくて
オブジェクト指向マンセーになる奴が多すぎる気がするから
敢えて逆行して書いただけで、
メリットをもっと強調するのなら実際は
そこまでひどいわけでもないがな。
110nobodyさん
03/03/03 23:34ID:???98 名前:nobodyさん 投稿日:2003/03/03(月) 08:39 ID:???
>>97
普通にウザがってる人もいるんで自分のサイトでやるように説得してください。
99 名前:俺様 投稿日:2003/03/03(月) 10:08 ID:gt/b6+qo
煽りでもレスが付かないよりは大歓迎だ!
>>98
需要も少しはあるようだからまあ、多めに見てもいいじゃないか。
WebProg板ってスレ保持数に比べて活性化しているスレ数が非常に少ないから
他のスレがdat落ちして困るとかも無いしな。ウザかったら見なければ(・∀・)イイ!
2chブラウザ使ってこのスレごとあぼーんだ。
98 名前:nobodyさん 投稿日:2003/03/03(月) 08:39 ID:???
>>97
普通にウザがってる人もいるんで自分のサイトでやるように説得してください。
99 名前:俺様 投稿日:2003/03/03(月) 10:08 ID:gt/b6+qo
煽りでもレスが付かないよりは大歓迎だ!
>>98
需要も少しはあるようだからまあ、多めに見てもいいじゃないか。
WebProg板ってスレ保持数に比べて活性化しているスレ数が非常に少ないから
他のスレがdat落ちして困るとかも無いしな。ウザかったら見なければ(・∀・)イイ!
2chブラウザ使ってこのスレごとあぼーんだ。
111nobodyさん
03/03/03 23:34ID:???98 名前:nobodyさん 投稿日:2003/03/03(月) 08:39 ID:???
>>97
普通にウザがってる人もいるんで自分のサイトでやるように説得してください。
99 名前:俺様 投稿日:2003/03/03(月) 10:08 ID:gt/b6+qo
煽りでもレスが付かないよりは大歓迎だ!
>>98
需要も少しはあるようだからまあ、多めに見てもいいじゃないか。
WebProg板ってスレ保持数に比べて活性化しているスレ数が非常に少ないから
他のスレがdat落ちして困るとかも無いしな。ウザかったら見なければ(・∀・)イイ!
2chブラウザ使ってこのスレごとあぼーんだ。
98 名前:nobodyさん 投稿日:2003/03/03(月) 08:39 ID:???
>>97
普通にウザがってる人もいるんで自分のサイトでやるように説得してください。
99 名前:俺様 投稿日:2003/03/03(月) 10:08 ID:gt/b6+qo
煽りでもレスが付かないよりは大歓迎だ!
>>98
需要も少しはあるようだからまあ、多めに見てもいいじゃないか。
WebProg板ってスレ保持数に比べて活性化しているスレ数が非常に少ないから
他のスレがdat落ちして困るとかも無いしな。ウザかったら見なければ(・∀・)イイ!
2chブラウザ使ってこのスレごとあぼーんだ。
112nobodyさん
03/03/03 23:34ID:???98 名前:nobodyさん 投稿日:2003/03/03(月) 08:39 ID:???
>>97
普通にウザがってる人もいるんで自分のサイトでやるように説得してください。
99 名前:俺様 投稿日:2003/03/03(月) 10:08 ID:gt/b6+qo
煽りでもレスが付かないよりは大歓迎だ!
>>98
需要も少しはあるようだからまあ、多めに見てもいいじゃないか。
WebProg板ってスレ保持数に比べて活性化しているスレ数が非常に少ないから
他のスレがdat落ちして困るとかも無いしな。ウザかったら見なければ(・∀・)イイ!
2chブラウザ使ってこのスレごとあぼーんだ。
98 名前:nobodyさん 投稿日:2003/03/03(月) 08:39 ID:???
>>97
普通にウザがってる人もいるんで自分のサイトでやるように説得してください。
99 名前:俺様 投稿日:2003/03/03(月) 10:08 ID:gt/b6+qo
煽りでもレスが付かないよりは大歓迎だ!
>>98
需要も少しはあるようだからまあ、多めに見てもいいじゃないか。
WebProg板ってスレ保持数に比べて活性化しているスレ数が非常に少ないから
他のスレがdat落ちして困るとかも無いしな。ウザかったら見なければ(・∀・)イイ!
2chブラウザ使ってこのスレごとあぼーんだ。
113nobodyさん
03/03/04 02:34ID:??? あんまり資源無駄に使ってるとアク禁食らっちゃうよー
114nobodyさん
03/03/04 05:05ID:??? このスレすごく良いです。頑張ってください。
116俺様
03/03/04 10:17ID:SJwb4sM+117俺様
03/03/04 10:29ID:SJwb4sM+ 出力方法は何通りかあるので示しておきます。
自分が使いやすい方法を用いればよいだろう。
<?php
$title = "タイトル";
print "<html>";
print "<head>";
print "<title>$title</title>";
print "</head>";
print "<body>";
print "俺様のHTMLドキュメント";
print "</body>";
print "</html>";
?>
前も言ったように、CGI/Perlの場合は
print "Content-type: text/html\n\n";
こんなのが必要だったがmod_phpの場合は要らない。
上のスクリプトを書いてブラウザで開いてみれば
見事、俺様のHTMLドキュメントと出力される。
自分が使いやすい方法を用いればよいだろう。
<?php
$title = "タイトル";
print "<html>";
print "<head>";
print "<title>$title</title>";
print "</head>";
print "<body>";
print "俺様のHTMLドキュメント";
print "</body>";
print "</html>";
?>
前も言ったように、CGI/Perlの場合は
print "Content-type: text/html\n\n";
こんなのが必要だったがmod_phpの場合は要らない。
上のスクリプトを書いてブラウザで開いてみれば
見事、俺様のHTMLドキュメントと出力される。
118俺様
03/03/04 10:50ID:SJwb4sM+ 資源無駄使いって言われたので
混合させてまとめて記述しちゃうか。
<?php
$title = "タイトル";
echo "<html>"; //echoも出力命令の1つ。printと同じようなものと思って良い。
echo("<head>"); //今まで省略してたけど()を付けても構わない。printも同様。
//C言語にあったprintfも使える。%3dなど書式をいろいろ設定できる。
//printやechoと違い、()が必須なので注意。
printf("<title>%s</title>",$title);
printf("</head>");
print <<<EOD //ヒアドキュメント。HTML部分が長くてprintとか書くのが面倒なとき便利
<body>
俺様のHTMLドキュメント
</body>
EOD; //ヒアドキュメント終了
print "</html>";
?>
ヒアドキュメントはPerlでも使っていた人は多いでしょう・
Perlでは↓のように書くが、PHPではセミコロンの位置が変わっているので
間違えないように注意しよう(重要)。
print <<EOD;
...
EOD
混合させてまとめて記述しちゃうか。
<?php
$title = "タイトル";
echo "<html>"; //echoも出力命令の1つ。printと同じようなものと思って良い。
echo("<head>"); //今まで省略してたけど()を付けても構わない。printも同様。
//C言語にあったprintfも使える。%3dなど書式をいろいろ設定できる。
//printやechoと違い、()が必須なので注意。
printf("<title>%s</title>",$title);
printf("</head>");
print <<<EOD //ヒアドキュメント。HTML部分が長くてprintとか書くのが面倒なとき便利
<body>
俺様のHTMLドキュメント
</body>
EOD; //ヒアドキュメント終了
print "</html>";
?>
ヒアドキュメントはPerlでも使っていた人は多いでしょう・
Perlでは↓のように書くが、PHPではセミコロンの位置が変わっているので
間違えないように注意しよう(重要)。
print <<EOD;
...
EOD
119俺様
03/03/04 11:00ID:SJwb4sM+ 因みに、PHPはHTML内に埋め込むことができると言うのを
利点として主張されることも多い。これは以下のように書けるからである。
<?php $title = "タイトル"; ?>
<html>
<head>
<title><?php $title ?></title>
</head>
<body>
俺様のHTMLドキュメント
</body>
</html>
このように必要な部分だけをPHPスクリプトとして認識させることが出来る。
コメントについても書いちゃおう。
Perlでは#のみだったがPHPではJavaなどで使われている以下の形式も可能である。
// コメント。#と意味は同じ。
/* これもコメント。複数行をコメントか出来るのが特徴。
つまりここもコメントになる。 */
利点として主張されることも多い。これは以下のように書けるからである。
<?php $title = "タイトル"; ?>
<html>
<head>
<title><?php $title ?></title>
</head>
<body>
俺様のHTMLドキュメント
</body>
</html>
このように必要な部分だけをPHPスクリプトとして認識させることが出来る。
コメントについても書いちゃおう。
Perlでは#のみだったがPHPではJavaなどで使われている以下の形式も可能である。
// コメント。#と意味は同じ。
/* これもコメント。複数行をコメントか出来るのが特徴。
つまりここもコメントになる。 */
120俺様
03/03/04 11:11ID:hLFJ4wUF この利点を利用すれば
簡単なカウンタなら
カウント保存用の空ファイルさえアップしておけば
ほんの数行であっという間に出来てしまうのだ。
明日はファイル入出力をやろう。
簡単なカウンタなら
カウント保存用の空ファイルさえアップしておけば
ほんの数行であっという間に出来てしまうのだ。
明日はファイル入出力をやろう。
122nobodyさん
03/03/04 18:41ID:Nso2bqOx123nobodyさん
03/03/04 18:50ID:??? >122
ねずみ講じゃないの?
ねずみ講じゃないの?
124nobodyさん
03/03/04 18:55ID:QqzA7g89125nobodyさん
03/03/04 19:35ID:??? 香ばしいです、はい。
126nobodyさん
03/03/04 21:46ID:???OOの無いPHPを使う位なら俺はPerlを使う。
128俺様
03/03/05 10:25ID:RSVIcXg3129nobodyさん
03/03/05 10:41ID:???130俺様
03/03/05 10:50ID:RSVIcXg3 では、ファイル操作について簡単な説明をしておこう。
ファイルの開き方は、PerlではopenだったがPHPではfopenになる。
読み取りや書き込みなどのモードもPerlとは仕様が変わり
C,Java寄りになっているので注意しよう。
PHP:
$fp = fopen(filename, mode); //ファイルポインタの位置が返る
Perl:
open(FILE, filename); //返り値は正常時が1、失敗だと0
オープンモードの選択方法がPerlだと+>みたいのをファイル名に直接つけていたのが
PHPだと2つ目の引数として別に記述するようになった。
ファイルハンドラは引数に記述するのではなく、
返り値になったのでそこも注意しよう。
具体的な仕様はマニュアルを参照。
http://www.php.net/manual/ja/function.fopen.php
ファイルの開き方は、PerlではopenだったがPHPではfopenになる。
読み取りや書き込みなどのモードもPerlとは仕様が変わり
C,Java寄りになっているので注意しよう。
PHP:
$fp = fopen(filename, mode); //ファイルポインタの位置が返る
Perl:
open(FILE, filename); //返り値は正常時が1、失敗だと0
オープンモードの選択方法がPerlだと+>みたいのをファイル名に直接つけていたのが
PHPだと2つ目の引数として別に記述するようになった。
ファイルハンドラは引数に記述するのではなく、
返り値になったのでそこも注意しよう。
具体的な仕様はマニュアルを参照。
http://www.php.net/manual/ja/function.fopen.php
132俺様
03/03/05 11:07ID:RSVIcXg3 では超簡易カウンタを作ってみよう。
仕様としてはファイルcount.txtの1行目にカウンタ数値を書くだけのものだ。
まず予めcount.txtを作成して0を記述しておくこと。
<?php
$fp = fopen("count.txt","r");
//count.txtを読み出しモードで開く。
//$fpはファイルポインタであり、rの場合ファイルの先頭の位置が返される。
$count = fgets($fp); //改行かファイルの終端まで読みこんで$countへ代入。
fclose($fp); //いったん閉じる
$count++;
$fp = fopen("count.txt","w"); //書き込みモード
fwrite($fp,$count); //書き込み。
fclose($fp);
?>
<html>
<body>
貴方は<?php print $count; ?>人目の俺様の弟子じゃ。
</body>
</html>
仕様としてはファイルcount.txtの1行目にカウンタ数値を書くだけのものだ。
まず予めcount.txtを作成して0を記述しておくこと。
<?php
$fp = fopen("count.txt","r");
//count.txtを読み出しモードで開く。
//$fpはファイルポインタであり、rの場合ファイルの先頭の位置が返される。
$count = fgets($fp); //改行かファイルの終端まで読みこんで$countへ代入。
fclose($fp); //いったん閉じる
$count++;
$fp = fopen("count.txt","w"); //書き込みモード
fwrite($fp,$count); //書き込み。
fclose($fp);
?>
<html>
<body>
貴方は<?php print $count; ?>人目の俺様の弟子じゃ。
</body>
</html>
133俺様
03/03/05 11:16ID:RSVIcXg3 >>131
オマエモナー
オマエモナー
134俺様
03/03/05 11:25ID:RSVIcXg3 では明日はいよいよフォームの処理を行おう。
135俺様
03/03/05 11:27ID:RSVIcXg3 ちなみにレッツPHPにファイルを1回しか開かなくていいバージョンが書かれているな。
http://php.s3.to/counter/
同時アクセスの際の弊害が置きにくくなるからそっちの方がいいだろう。
flockもしておくこと。
http://php.s3.to/counter/
同時アクセスの際の弊害が置きにくくなるからそっちの方がいいだろう。
flockもしておくこと。
136俺様
03/03/05 11:56ID:5JBlRiko 因みに、PHPはHTML内に埋め込むことができると言うのを
利点として主張されることも多い。これは以下のように書けるからである。
<?php $title = "タイトル"; ?>
<html>
<head>
<title><?php $title ?></title>
</head>
<body>
俺様のHTMLドキュメント
</body>
</html>
このように必要な部分だけをPHPスクリプトとして認識させることが出来る。
コメントについても書いちゃおう。
Perlでは#のみだったがPHPではJavaなどで使われている以下の形式も可能である。
// コメント。#と意味は同じ。
/* これもコメント。複数行をコメントか出来るのが特徴。
つまりここもコメントになる。 */
利点として主張されることも多い。これは以下のように書けるからである。
<?php $title = "タイトル"; ?>
<html>
<head>
<title><?php $title ?></title>
</head>
<body>
俺様のHTMLドキュメント
</body>
</html>
このように必要な部分だけをPHPスクリプトとして認識させることが出来る。
コメントについても書いちゃおう。
Perlでは#のみだったがPHPではJavaなどで使われている以下の形式も可能である。
// コメント。#と意味は同じ。
/* これもコメント。複数行をコメントか出来るのが特徴。
つまりここもコメントになる。 */
137nobodyさん
03/03/05 13:34ID:E53JqQ+I PHPには「〜?〜:〜」に該当する関数等はありまつか?
下のようなのが沢山あるのでなるべくif文は使いたくないんです。
例1:(Perl)
printf "<a href=\"%s\" target=\"%s\">%s</a>\n",&link($a?$b:$c),$d?"_blank":"_top",$d?"新しいウィンドウで開く":($e?"次のページ":"更新");
下のようなのが沢山あるのでなるべくif文は使いたくないんです。
例1:(Perl)
printf "<a href=\"%s\" target=\"%s\">%s</a>\n",&link($a?$b:$c),$d?"_blank":"_top",$d?"新しいウィンドウで開く":($e?"次のページ":"更新");
138nobodyさん
03/03/05 13:39ID:??? 条件演算子としては、他に "?:" (または trinary) 演算子があります。 この演算子の動作は、Cまたは他の多く言語と同じです。
(式1) ? (式2) : (式3);
この式は、式1 がTRUEの場合に 式2 を、 式1 がFALSEの場合に 式3 を値とします。
と、PHPマニュアルからまんま転載してみる。
(式1) ? (式2) : (式3);
この式は、式1 がTRUEの場合に 式2 を、 式1 がFALSEの場合に 式3 を値とします。
と、PHPマニュアルからまんま転載してみる。
140俺様
03/03/05 14:02ID:5JBlRiko PHPによるHTTP認証のフックは、Apacheモジュールとして実行した時のみ 有効で、
CGI版では利用できません。Apache モジュールPHPスクリプトにお いて、header()
関数を使用して "Authentication Required" メッセージをクライアントブラウザに送る
ことが可能です。 これにより、クライアントブラウザにユーザー名とパスワードを入力する ウイ
ンドウがポップアップ表示されます。一度、ユーザーがユーザー名と パスワードを
入力すると、PHP スクリプトを含むその URL は、次回以降、 定義済みの変数 PHP_AUTH_USER, PHP_AUTH_PW, and PHP_AUTH_TYPEにそれぞれユーザー名
、 パスワード、認証型を入力してコールされます。 定義済みの変数は、配列 $_SE
RVER および $HTTP_SERVER_VARS でアクセス可能です。 "Basic" 認証のみ
がサポートさ
れています。詳細は、 header()を参照下さい。
CGI版では利用できません。Apache モジュールPHPスクリプトにお いて、header()
関数を使用して "Authentication Required" メッセージをクライアントブラウザに送る
ことが可能です。 これにより、クライアントブラウザにユーザー名とパスワードを入力する ウイ
ンドウがポップアップ表示されます。一度、ユーザーがユーザー名と パスワードを
入力すると、PHP スクリプトを含むその URL は、次回以降、 定義済みの変数 PHP_AUTH_USER, PHP_AUTH_PW, and PHP_AUTH_TYPEにそれぞれユーザー名
、 パスワード、認証型を入力してコールされます。 定義済みの変数は、配列 $_SE
RVER および $HTTP_SERVER_VARS でアクセス可能です。 "Basic" 認証のみ
がサポートさ
れています。詳細は、 header()を参照下さい。
141俺様
03/03/05 19:13ID:RSVIcXg3142nobodyさん
03/03/05 19:16ID:juhSxd8a143nobodyさん
03/03/05 21:23ID:??? つづきまだー?
145nobodyさん
03/03/05 22:51ID:??? $a : $b ? $c = 1;
PHPはこれ書ける?
PHPはこれ書ける?
146俺様
03/03/05 23:06ID:MFbIbSdy147nobodyさん
03/03/05 23:17ID:5JBlRiko >>145
三項演算子まともに使えない自作自演俺様晒しage
三項演算子まともに使えない自作自演俺様晒しage
150nobodyさん
03/03/06 00:48ID:??? ふふふ。ひっかかったか。
Perlは三項演算子を左辺値として使える。
って全然利用価値はないけど、知ってるか試しただけ。
Perlは三項演算子を左辺値として使える。
って全然利用価値はないけど、知ってるか試しただけ。
151nobodyさん
03/03/06 00:49ID:??? あぁ。$a ? $b : $c だな。・・
152nobodyさん
03/03/06 01:02ID:uZwldhHh >>150
ひっかかってた俺様晒しage
ひっかかってた俺様晒しage
155俺様
03/03/06 01:13ID:ZBXb+hSM157俺様
03/03/06 01:34ID:ZBXb+hSM わからない点が出てきた(汗
$a ? $b : $c = 1;
これは$aがまだ初期化されていないため
falseとみなされて$cに1が代入される。
ところが、
$a=true;
$a ? $b : $c = 1;
このようにしても$bには1が代入されていなかった・・・
ちなみにPerlの場合はちゃんと$bに1が代入されてました。
というわけでどうしてPHPだと代入されないのかを考えて見ましょう。
PerlとPHPの違いですね。
$a ? $b : $c = 1;
これは$aがまだ初期化されていないため
falseとみなされて$cに1が代入される。
ところが、
$a=true;
$a ? $b : $c = 1;
このようにしても$bには1が代入されていなかった・・・
ちなみにPerlの場合はちゃんと$bに1が代入されてました。
というわけでどうしてPHPだと代入されないのかを考えて見ましょう。
PerlとPHPの違いですね。
158nobodyさん
03/03/06 01:36ID:??? 俺様に、きもいストカー、スレ繁盛。 サラリーマン俳句
159nobodyさん
03/03/06 01:41ID:??? define("true",0);
160nobodyさん
03/03/06 01:42ID:??? さっき書いたもので十分。Perlは三項演算子(の2、3番目のやつ)が左辺値になれる。
なんと関数も左辺値にできる(ver 5.6辺り(?)以降から..)
my %hash;
sub hoge : lvalue {
my $key = shift;
return $hash{$key};
}
hoge('test') = 1;
print $hash{test};
なんと関数も左辺値にできる(ver 5.6辺り(?)以降から..)
my %hash;
sub hoge : lvalue {
my $key = shift;
return $hash{$key};
}
hoge('test') = 1;
print $hash{test};
162nobodyさん
03/03/06 01:52ID:??? ごめん。またもや失敗。
return を使ってはいけない。とのこと。
sub hoge : lvalue {
my $key = shift;
$hash{$key};
}
return を使ってはいけない。とのこと。
sub hoge : lvalue {
my $key = shift;
$hash{$key};
}
163nobodyさん
03/03/06 03:27ID:??? C(gcc 2.95.3-6 mingw)はperlと同じ挙動を示した。
こんな書き方があるとは、知らなかった。。
こんな書き方があるとは、知らなかった。。
164nobodyさん
03/03/06 07:56ID:??? わからない点が出てきた(汗
$a ? $b : $c = 1;
これは$aがまだ初期化されていないため
falseとみなされて$cに1が代入される。
ところが、
$a=true;
$a ? $b : $c = 1;
このようにしても$bには1が代入されていなかった・・・
ちなみにPerlの場合はちゃんと$bに1が代入されてました。
というわけでどうしてPHPだと代入されないのかを考えて見ましょう。
PerlとPHPの違いですね。わからない点が出てきた(汗
$a ? $b : $c = 1;
これは$aがまだ初期化されていないため
falseとみなされて$cに1が代入される。
ところが、
$a=true;
$a ? $b : $c = 1;
このようにしても$bには1が代入されていなかった・・・
ちなみにPerlの場合はちゃんと$bに1が代入されてました。
というわけでどうしてPHPだと代入されないのかを考えて見ましょう。
PerlとPHPの違いですね。わからない点が出てきた(汗
$a ? $b : $c = 1;
これは$aがまだ初期化されていないため
$a ? $b : $c = 1;
これは$aがまだ初期化されていないため
falseとみなされて$cに1が代入される。
ところが、
$a=true;
$a ? $b : $c = 1;
このようにしても$bには1が代入されていなかった・・・
ちなみにPerlの場合はちゃんと$bに1が代入されてました。
というわけでどうしてPHPだと代入されないのかを考えて見ましょう。
PerlとPHPの違いですね。わからない点が出てきた(汗
$a ? $b : $c = 1;
これは$aがまだ初期化されていないため
falseとみなされて$cに1が代入される。
ところが、
$a=true;
$a ? $b : $c = 1;
このようにしても$bには1が代入されていなかった・・・
ちなみにPerlの場合はちゃんと$bに1が代入されてました。
というわけでどうしてPHPだと代入されないのかを考えて見ましょう。
PerlとPHPの違いですね。わからない点が出てきた(汗
$a ? $b : $c = 1;
これは$aがまだ初期化されていないため
165nobodyさん
03/03/06 07:56ID:??? わからない点が出てきた(汗
$a ? $b : $c = 1;
これは$aがまだ初期化されていないため
falseとみなされて$cに1が代入される。
ところが、
$a=true;
$a ? $b : $c = 1;
このようにしても$bには1が代入されていなかった・・・
ちなみにPerlの場合はちゃんと$bに1が代入されてました。
というわけでどうしてPHPだと代入されないのかを考えて見ましょう。
PerlとPHPの違いですね。わからない点が出てきた(汗
$a ? $b : $c = 1;
これは$aがまだ初期化されていないため
falseとみなされて$cに1が代入される。
ところが、
$a=true;
$a ? $b : $c = 1;
このようにしても$bには1が代入されていなかった・・・
ちなみにPerlの場合はちゃんと$bに1が代入されてました。
というわけでどうしてPHPだと代入されないのかを考えて見ましょう。
PerlとPHPの違いですね。
$a ? $b : $c = 1;
これは$aがまだ初期化されていないため
falseとみなされて$cに1が代入される。
ところが、
$a=true;
$a ? $b : $c = 1;
このようにしても$bには1が代入されていなかった・・・
ちなみにPerlの場合はちゃんと$bに1が代入されてました。
というわけでどうしてPHPだと代入されないのかを考えて見ましょう。
PerlとPHPの違いですね。わからない点が出てきた(汗
$a ? $b : $c = 1;
これは$aがまだ初期化されていないため
falseとみなされて$cに1が代入される。
ところが、
$a=true;
$a ? $b : $c = 1;
このようにしても$bには1が代入されていなかった・・・
ちなみにPerlの場合はちゃんと$bに1が代入されてました。
というわけでどうしてPHPだと代入されないのかを考えて見ましょう。
PerlとPHPの違いですね。
166nobodyさん
03/03/06 07:59ID:??? 粘着きもいお(○´∞`○)
167俺様
03/03/06 08:26ID:0wTJZFjp >>161
http://www.php.net/manual/ja/language.operators.php
演算子の優先順位が
=より:?の方が高いから
$a?$b:$cの方が$c=1より先に評価されるはずじゃない?
でもこうやってみたら$aが真のときに
$bに1が代入されてたからやっぱ>>161のいう通りかな。
$a ? $b = 1: $c;
しかし、いいかげんな仕様だね。
http://www.php.net/manual/ja/language.operators.php
演算子の優先順位が
=より:?の方が高いから
$a?$b:$cの方が$c=1より先に評価されるはずじゃない?
でもこうやってみたら$aが真のときに
$bに1が代入されてたからやっぱ>>161のいう通りかな。
$a ? $b = 1: $c;
しかし、いいかげんな仕様だね。
168nobodyさん
03/03/06 08:29ID:??? >>161
http://www.php.net/manual/ja/language.operators.php
演算子の優先順位が
=より:?の方が高いから
$a?$b:$cの方が$c=1より先に評価されるはずじゃない?
でもこうやってみたら$aが真のときに
$bに1が代入されてたからやっぱ>>161のいう通りかな。
$a ? $b = 1: $c; >>161
http://www.php.net/manual/ja/language.operators.php
演算子の優先順位が
=より:?の方が高いから
$a?$b:$cの方が$c=1より先に評価されるはずじゃない?
でもこうやってみたら$aが真のときに
$bに1が代入されてたからやっぱ>>161のいう通りかな。
$a ? $b = 1: $c; >>161
http://www.php.net/manual/ja/language.operators.php
演算子の優先順位が
=より:?の方が高いから
$a?$b:$cの方が$c=1より先に評価されるはずじゃない?
でもこうやってみたら$aが真のときに
$bに1が代入されてたからやっぱ>>161のいう通りかな。
$a ? $b = 1: $c;
http://www.php.net/manual/ja/language.operators.php
演算子の優先順位が
=より:?の方が高いから
$a?$b:$cの方が$c=1より先に評価されるはずじゃない?
でもこうやってみたら$aが真のときに
$bに1が代入されてたからやっぱ>>161のいう通りかな。
$a ? $b = 1: $c; >>161
http://www.php.net/manual/ja/language.operators.php
演算子の優先順位が
=より:?の方が高いから
$a?$b:$cの方が$c=1より先に評価されるはずじゃない?
でもこうやってみたら$aが真のときに
$bに1が代入されてたからやっぱ>>161のいう通りかな。
$a ? $b = 1: $c; >>161
http://www.php.net/manual/ja/language.operators.php
演算子の優先順位が
=より:?の方が高いから
$a?$b:$cの方が$c=1より先に評価されるはずじゃない?
でもこうやってみたら$aが真のときに
$bに1が代入されてたからやっぱ>>161のいう通りかな。
$a ? $b = 1: $c;
169イ奄様
03/03/06 09:07ID:??? これで勘弁してくれ
Perl
$a?$b:$c=1;
PHP
$a?$b=1:$c=1;
Perl
$a?$b:$c=1;
PHP
$a?$b=1:$c=1;
170俺様
03/03/06 09:53ID:0wTJZFjp では今日はフォームの受け渡しを書いておこう。
まずはhtml部分から。
<form action="../cgi-bin/test.cgi" method="POST">
名前: <input type="text" name="name" /><br>
性別: <br>
<input type="radio" value="男" name="sex" checked>男<br>
<input type="radio" value="女" name="sex">女<br>
<input type="submit" name="送信">
</form>
まずはhtml部分から。
<form action="../cgi-bin/test.cgi" method="POST">
名前: <input type="text" name="name" /><br>
性別: <br>
<input type="radio" value="男" name="sex" checked>男<br>
<input type="radio" value="女" name="sex">女<br>
<input type="submit" name="送信">
</form>
171俺様
03/03/06 10:10ID:0wTJZFjp Perlだとこうなる。
#!/perl/bin/perl
print "Content-type: text/html\n\n";
use CGI;
$q = new CGI;
print $q->param('name')."は".$q->param('sex');
まあ、cgi.pmがPerl5で標準に組み込まれるようになったので
かなり楽になっただろう。
cgi.pmを用いないとさらに面倒である。
#!/perl/bin/perl
print "Content-type: text/html\n\n";
use CGI;
$q = new CGI;
print $q->param('name')."は".$q->param('sex');
まあ、cgi.pmがPerl5で標準に組み込まれるようになったので
かなり楽になっただろう。
cgi.pmを用いないとさらに面倒である。
172俺様
03/03/06 10:17ID:0wTJZFjp PHPの場合だとこれでよい。
<?php
print $_POST["name"]."は".$_POST["sex"];
?>
ちなみにGET方式の場合は同様に
$_GETの配列に代入される。
$_REQUESTにはGET,POST関係なく
代入されてくれる。(ただし、安全じゃないという理由で推奨はされない)
<?php
print $_POST["name"]."は".$_POST["sex"];
?>
ちなみにGET方式の場合は同様に
$_GETの配列に代入される。
$_REQUESTにはGET,POST関係なく
代入されてくれる。(ただし、安全じゃないという理由で推奨はされない)
173俺様
03/03/06 10:29ID:0wTJZFjp http://www.php.net/manual/ja/ref.strings.php
文字列関数を見るとわかるがかなり便利な関数が標準で用意されている。
htmlspecialchars
特殊文字をHTMLエンティティに変換する
例えば、<を'<'に変えてくれるのだ。
タグとみなされずにすむ。
trim
文字列の先頭および末尾にあるホワイトスペースを取り除く
これもフォーム処理の際にはあると便利だろう。
こんなふうにすればフォームから受け取った全ての値に
簡単に処理を適用できる。
$_POST = array_map("htmlspecialchars", $_POST);
$_POST = array_map("trim", $_POST);
文字列関数を見るとわかるがかなり便利な関数が標準で用意されている。
htmlspecialchars
特殊文字をHTMLエンティティに変換する
例えば、<を'<'に変えてくれるのだ。
タグとみなされずにすむ。
trim
文字列の先頭および末尾にあるホワイトスペースを取り除く
これもフォーム処理の際にはあると便利だろう。
こんなふうにすればフォームから受け取った全ての値に
簡単に処理を適用できる。
$_POST = array_map("htmlspecialchars", $_POST);
$_POST = array_map("trim", $_POST);
174俺様
03/03/06 10:30ID:0wTJZFjp これでフォームもバッチリъ( ゚ー^)だろう。
175nobodyさん
03/03/06 11:23ID:??? a?b:c=1;
本来はエラーにすべきだけど、gccだと通るんだよな・・・三項演算子が左辺になりうる。
まあ-ansi -pedanticをつければエラーにしてくれるけど。
本来はエラーにすべきだけど、gccだと通るんだよな・・・三項演算子が左辺になりうる。
まあ-ansi -pedanticをつければエラーにしてくれるけど。
176175
03/03/06 11:28ID:??? s/左辺/左辺値/
177nobodyさん
03/03/06 15:41ID:??? いい加減な仕様とか言って・・
演算子の優先順位も、左辺値になるということも、
perlopにちゃんと書いてあるし。ちゃんとした仕様。
仕返しだ。
$a ? $b : $c = $d ? $e : $f = $g ? $h : $i = $j ? $k : $l = $m ? $n : $o;
演算子の優先順位も、左辺値になるということも、
perlopにちゃんと書いてあるし。ちゃんとした仕様。
仕返しだ。
$a ? $b : $c = $d ? $e : $f = $g ? $h : $i = $j ? $k : $l = $m ? $n : $o;
178俺様
03/03/06 16:42ID:SMJB497B179nobodyさん
03/03/06 17:01ID:??? PHPも、優先度は、=の方が上だから、そのままの結果。ではないのか?
180俺様
03/03/06 17:04ID:SMJB497B181nobodyさん
03/03/06 17:05ID:G2YpYyeT ◆ようこそ!!ピンクエンジェルです★
http://www.pink-angel.jp/betu/index.html
http://www.pink-angel.jp/betu/index.html
182nobodyさん
03/03/06 17:06ID:??? 本来はd=a?b:c;という形で使う者なんだから、=の方が低くて当然。
左辺値になるってのがおかしいんだよ(-_-;)
左辺値になるってのがおかしいんだよ(-_-;)
184nobodyさん
03/03/06 21:36ID:???180 名前:俺様 投稿日:2003/03/06(木) 17:04 ID:SMJB497B
>>179
>優先度は、=の方が上
ソースキボンヌ。
俺が調べた結果だと=の方が下だった。
181 名前:nobodyさん 投稿日:2003/03/06(木) 17:05 ID:G2YpYyeT
◆ようこそ!!ピンクエンジェルです★
http://www.pink-angel.jp/betu/index.html
182 名前:nobodyさん 投稿日:2003/03/06(木) 17:06 ID:???
本来はd=a?b:c;という形で使う者なんだから、=の方が低くて当然。
左辺値になるってのがおかしいんだよ(-_-;)
183 名前:nobodyさん 投稿日:2003/03/06(木) 19:06 ID:???
>>180
あぁ。最低から並べたものって書いてあった。うぅ。
182 名前:nobodyさん 投稿日:2003/03/06(木) 17:06 ID:???
本来はd=a?b:c;という形で使う者なんだから、=の方が低くて当然。
左辺値になるってのがおかしいんだよ(-_-;)
183 名前:nobodyさん 投稿日:2003/03/06(木) 19:06 ID:???
>>180
あぁ。最低から並べたものって書いてあった。うぅ。
185nobodyさん
03/03/06 23:54ID:aj5F0raF 教えて下さい。
配列@arrayに、'12-34','34-56'...みたいなデータが入ってて、-の右側でソートしたい場合、
@tmp = map { (split /-/)[1] } @array;
@array = @array[ sort { $tmp[$b] <=> $tmp[$a] } 0 .. $#tmp ];
でやってたんですが、同じことをPHPでやるにはどうしたらいいんでしょう?
配列@arrayに、'12-34','34-56'...みたいなデータが入ってて、-の右側でソートしたい場合、
@tmp = map { (split /-/)[1] } @array;
@array = @array[ sort { $tmp[$b] <=> $tmp[$a] } 0 .. $#tmp ];
でやってたんですが、同じことをPHPでやるにはどうしたらいいんでしょう?
186俺様
03/03/07 00:46ID:86BQl/fj >>185
実はそれに似たようなので、俺様も苦労したんだな〜
1<>32<>43<>2
3<>41<>443<>232
...
ってな感じでデータが入ってて
3列目(上だと43,443)だけでsortしたいなーって。
で、結局よくわからんかったから自己関数作った。
function cmp ($a, $b) {
$tmp1 = explode("<>", $a);
//文字列$a(="1<>32<>43<>2")を<>で区切って配列に代入
//例えば、$tmp1[0]=1,$tmp1[1]=32
$tmp2 = explode("<>", $b);
if($tmp1[2] == $tmp2[2]) return 0;
elseif($tmp1[2] > $tmp2[2]) return -1;
else return 1;
}
usort ($array "cmp");
//ユーザー定義の比較関数により値で配列をソート
まあ、usortの使い方とかはマニュアルで調べてクレイ。
http://www.php.net/manual/ja/ref.array.php
俺様のと若干違うようなので、もっと簡単な方法があるかも知れんが
参考までに。
実はそれに似たようなので、俺様も苦労したんだな〜
1<>32<>43<>2
3<>41<>443<>232
...
ってな感じでデータが入ってて
3列目(上だと43,443)だけでsortしたいなーって。
で、結局よくわからんかったから自己関数作った。
function cmp ($a, $b) {
$tmp1 = explode("<>", $a);
//文字列$a(="1<>32<>43<>2")を<>で区切って配列に代入
//例えば、$tmp1[0]=1,$tmp1[1]=32
$tmp2 = explode("<>", $b);
if($tmp1[2] == $tmp2[2]) return 0;
elseif($tmp1[2] > $tmp2[2]) return -1;
else return 1;
}
usort ($array "cmp");
//ユーザー定義の比較関数により値で配列をソート
まあ、usortの使い方とかはマニュアルで調べてクレイ。
http://www.php.net/manual/ja/ref.array.php
俺様のと若干違うようなので、もっと簡単な方法があるかも知れんが
参考までに。
187nobodyさん
03/03/07 00:46ID:??? 教えて下さい。
配列@arrayに、'12-34','34-56'...みたいなデータが入ってて、-の右側でソートしたい場合、
@tmp = map { (split /-/)[1] } @array;
@array = @array[ sort { $tmp[$b] <=> $tmp[$a] } 0 .. $#tmp ];
でやってたんですが、同じことをPHPでやるにはどうしたらいいんでしょう?教えて下さい。
配列@arrayに、'12-34','34-56'...みたいなデータが入ってて、-の右側でソートしたい場合、
@tmp = map { (split /-/)[1] } @array;
@array = @array[ sort { $tmp[$b] <=> $tmp[$a] } 0 .. $#tmp ];
でやってたんですが、同じことをPHPでやるにはどうしたらいいんでしょう?教えて下さい。
配列@arrayに、'12-34','34-56'...みたいなデータが入ってて、-の右側でソートしたい場合、
@tmp = map { (split /-/)[1] } @array;
@array = @array[ sort { $tmp[$b] <=> $tmp[$a] } 0 .. $#tmp ];
でやってたんですが、同じことをPHPでやるにはどうしたらいいんでしょう?教えて下さい。
配列@arrayに、'12-34','34-56'...みたいなデータが入ってて、-の右側でソートしたい場合、
@tmp = map { (split /-/)[1] } @array;
@array = @array[ sort { $tmp[$b] <=> $tmp[$a] } 0 .. $#tmp ];
でやってたんですが、同じことをPHPでやるにはどうしたらいいんでしょう?
配列@arrayに、'12-34','34-56'...みたいなデータが入ってて、-の右側でソートしたい場合、
@tmp = map { (split /-/)[1] } @array;
@array = @array[ sort { $tmp[$b] <=> $tmp[$a] } 0 .. $#tmp ];
でやってたんですが、同じことをPHPでやるにはどうしたらいいんでしょう?教えて下さい。
配列@arrayに、'12-34','34-56'...みたいなデータが入ってて、-の右側でソートしたい場合、
@tmp = map { (split /-/)[1] } @array;
@array = @array[ sort { $tmp[$b] <=> $tmp[$a] } 0 .. $#tmp ];
でやってたんですが、同じことをPHPでやるにはどうしたらいいんでしょう?教えて下さい。
配列@arrayに、'12-34','34-56'...みたいなデータが入ってて、-の右側でソートしたい場合、
@tmp = map { (split /-/)[1] } @array;
@array = @array[ sort { $tmp[$b] <=> $tmp[$a] } 0 .. $#tmp ];
でやってたんですが、同じことをPHPでやるにはどうしたらいいんでしょう?教えて下さい。
配列@arrayに、'12-34','34-56'...みたいなデータが入ってて、-の右側でソートしたい場合、
@tmp = map { (split /-/)[1] } @array;
@array = @array[ sort { $tmp[$b] <=> $tmp[$a] } 0 .. $#tmp ];
でやってたんですが、同じことをPHPでやるにはどうしたらいいんでしょう?
188nobodyさん
03/03/07 03:08ID:??? 配列にしてからソートした方がよくない?
189nobodyさん
03/03/07 14:44ID:???190nobodyさん
03/03/07 16:22ID:??? >>185
$i = 0;
for($array[$i]) {
list($first, $second) = explode("-",$array[$i]);
$first[] = $first;
$secondt[] = $second;
$i++;
}
array_multisort($second, $first);
$i++;
while ($first[$i]){
$array[$i] = $first[$i] . "-" . $second[$i];
$i++;
}
PHP初心者スレで書いた奴を改善してみた。
$i = 0;
for($array[$i]) {
list($first, $second) = explode("-",$array[$i]);
$first[] = $first;
$secondt[] = $second;
$i++;
}
array_multisort($second, $first);
$i++;
while ($first[$i]){
$array[$i] = $first[$i] . "-" . $second[$i];
$i++;
}
PHP初心者スレで書いた奴を改善してみた。
191nobodyさん
03/03/07 18:15ID:??? >189
ソートの度になにかの処理をするって遅くならん?
ソートの度になにかの処理をするって遅くならん?
192$n日後
03/03/07 18:53ID:??? 現在時刻から$n日後を求めたいいいだけどprelだと以下
($sec,$min,$hour,$mday,$mon,$year,$wday)=localtime(time + $n*24*3600);
PHPだとどうなるんだ?
あのツェラーの公式だっけか?
($sec,$min,$hour,$mday,$mon,$year,$wday)=localtime(time + $n*24*3600);
PHPだとどうなるんだ?
あのツェラーの公式だっけか?
194nobodyさん
03/03/07 19:23ID:??? $i = 90;
$year = date("Y", time());
$day = date("n", time());
$month = date("j", time());
$hour = date("G", time());
$minute = date("i", time());
$second = date("s", time());
$timestamp = mktime($hour, $minute, $second, $month, $day + $i, $year);
print date("Y/n/j G:i:s", $timestamp);
まぁ別に変数を使う必要も無いわけだが。
$year = date("Y", time());
$day = date("n", time());
$month = date("j", time());
$hour = date("G", time());
$minute = date("i", time());
$second = date("s", time());
$timestamp = mktime($hour, $minute, $second, $month, $day + $i, $year);
print date("Y/n/j G:i:s", $timestamp);
まぁ別に変数を使う必要も無いわけだが。
195$n日後
03/03/08 13:58ID:NNyx9+/Y >>193 >>194
レスサンク!
ツェラーの公式とはまた違うか、・・・・。
PHPではツェラーの公式なんか使わなくても簡単に指定した日の
曜日とかも算出出来ちゃうんだね。
--抜粋--
また、カレンダー等でその日の曜日を知りたい時、「perl」では
Zeller(ツェラー)の公式を使って算出しなければいけませんが、
「php」では「string date (w , [timestamp])」とすると、
「timestamp」で指定した日にちの曜日を数字で返してくれます
(0(日曜)〜6(土曜))。極端な例を2点ほどあげましたが、
他にも便利な関数が数々あります。
--抜粋--
ttp://bin5.info/useful/php/php_02.html
レスサンク!
ツェラーの公式とはまた違うか、・・・・。
PHPではツェラーの公式なんか使わなくても簡単に指定した日の
曜日とかも算出出来ちゃうんだね。
--抜粋--
また、カレンダー等でその日の曜日を知りたい時、「perl」では
Zeller(ツェラー)の公式を使って算出しなければいけませんが、
「php」では「string date (w , [timestamp])」とすると、
「timestamp」で指定した日にちの曜日を数字で返してくれます
(0(日曜)〜6(土曜))。極端な例を2点ほどあげましたが、
他にも便利な関数が数々あります。
--抜粋--
ttp://bin5.info/useful/php/php_02.html
198nobodyさん
03/03/08 14:32ID:???201nobodyさん
03/03/08 15:37ID:???202nobodyさん
03/03/08 15:53ID:??? list($sec,$min,$hour,$mday,$mon,$year,$wday) = localtime(time() + $n*24*3600);
205nobodyさん
03/03/10 16:59ID:??? つづきまだー
206&rlo;ega待期&lro;
03/03/10 17:03ID:EpMeREtC207nobodyさん
03/03/10 17:11ID:???208俺様
03/03/10 17:47ID:SvAZl1u/ そろそろネタ切れだ。
以上の知識でもうどんな物でも
Perl→PHPの移行はできるはずだ。
練習として誰かYomiサーチを移植してみよう。
以上の知識でもうどんな物でも
Perl→PHPの移行はできるはずだ。
練習として誰かYomiサーチを移植してみよう。
210nobodyさん
03/03/10 20:36ID:??? 俺様、ちょっち待てよ。
Yomiサーチの移植の続きやれよ。(w
Yomiサーチの移植の続きやれよ。(w
212nobodyさん
03/03/10 21:09ID:??? dbを触るところまでやってほしかったっす。
213俺様
03/03/10 22:09ID:SvAZl1u/ よっしゃ。じゃあMySQLまでやろう。
というか俺が今その勉強中だから
まあ(・∀・)つ目 オチャデモノンデマテ!
というか俺が今その勉強中だから
まあ(・∀・)つ目 オチャデモノンデマテ!
215俺様
03/03/10 22:26ID:KPB0lsuM >>214
(´Д⊂
(´Д⊂
216nobodyさん
03/03/10 22:32ID:Hr2fHuuO ∋8ノノハ.∩
川o・-・)ノ <先生!こんなのがありました!
__/ / /
\(_ノ ̄ ̄ ̄\
||ヽ|| ̄ ̄ ̄ ̄||
...|| ̄ ̄ ̄ ̄||
http://saitama.gasuki.com/saitama/
川o・-・)ノ <先生!こんなのがありました!
__/ / /
\(_ノ ̄ ̄ ̄\
||ヽ|| ̄ ̄ ̄ ̄||
...|| ̄ ̄ ̄ ̄||
http://saitama.gasuki.com/saitama/
217nobodyさん
03/03/10 23:02ID:c9OmtJD2 PHPはいいからDelphiおしえれ
221俺様
03/03/10 23:17ID:KPB0lsuM Delphiは板違いなのでプログラム板で。
224nobodyさん
03/03/11 10:00ID:??? このスレでは、いずれ php.ini の解説もしてくれますか?
俺が Perl → PHP で一番悩んでるのが php.ini (により定まる動作環境?) なんだよね。
こっちのサーバでは動くのにあっちのサーバでは動かない、とかとか。
俺が Perl → PHP で一番悩んでるのが php.ini (により定まる動作環境?) なんだよね。
こっちのサーバでは動くのにあっちのサーバでは動かない、とかとか。
227nobodyさん
03/03/11 10:31ID:??? >>225
問題解決のためならその通りですが、
予備知識が無いと、聞きようが無い and 読みようが無いと思ったのさ。
詳しくは本でも買って読め、ということになるのかもしれないけど、
Perlユーザ向けの *入門編レベル* で十分なので、
抑えておくべきポイントを教えてくれると嬉すぃ。
問題解決のためならその通りですが、
予備知識が無いと、聞きようが無い and 読みようが無いと思ったのさ。
詳しくは本でも買って読め、ということになるのかもしれないけど、
Perlユーザ向けの *入門編レベル* で十分なので、
抑えておくべきポイントを教えてくれると嬉すぃ。
229nobodyさん
03/03/11 10:42ID:??? もちろん、一番最初に
<?php
phpinfo();
?>
だけ書いたファイルを置く、これはやってます。
ただ、
> 後は値でどういう設定かは見当が付く。
これがね…。
要点だけで良いので、時間余ったらよろしく。>>俺様
<?php
phpinfo();
?>
だけ書いたファイルを置く、これはやってます。
ただ、
> 後は値でどういう設定かは見当が付く。
これがね…。
要点だけで良いので、時間余ったらよろしく。>>俺様
230俺様
03/03/11 11:10ID:+7fowk1S まあ、入門レベルならそこまで弄る所はないだろうというのが本音だが。
>こっちのサーバでは動くのにあっちのサーバでは動かない
これで困っているなら、なぜ動かないのかを検討する方が先だろうし。
まあ、php.ini自体に英語で最初から説明が書いてあるので
それを見ながら幾つか拾ってみよう。
>こっちのサーバでは動くのにあっちのサーバでは動かない
これで困っているなら、なぜ動かないのかを検討する方が先だろうし。
まあ、php.ini自体に英語で最初から説明が書いてあるので
それを見ながら幾つか拾ってみよう。
231俺様
03/03/11 11:17ID:+7fowk1S まずここはサーバで違いがあるところが多い。
; Safe Mode
safe_mode = Off(デフォルト時)
セーフモードとは何か?についてはマニュアルに結構書いてある。
http://www.php.net/manual/ja/features.safe-mode.php
http://www.php.net/manual/ja/features.safe-mode.functions.php
見ればわかるとおり、Onにすると使えなくなる関数とかがいくつか出てくるが
共用鯖ではOnにしている所がかなり多いので
On上での動作確認をした方がいいだろう。
; Safe Mode
safe_mode = Off(デフォルト時)
セーフモードとは何か?についてはマニュアルに結構書いてある。
http://www.php.net/manual/ja/features.safe-mode.php
http://www.php.net/manual/ja/features.safe-mode.functions.php
見ればわかるとおり、Onにすると使えなくなる関数とかがいくつか出てくるが
共用鯖ではOnにしている所がかなり多いので
On上での動作確認をした方がいいだろう。
233俺様
03/03/11 11:23ID:+7fowk1S というか便利なページ発見。
http://www.net-newbie.com/postgres/php.ini-recommended.txt
PHPにはphp.ini-recommendedという推奨設定ファイルが付いている。
上はその日本語訳のようだ。
http://www.net-newbie.com/postgres/php.ini-recommended.txt
PHPにはphp.ini-recommendedという推奨設定ファイルが付いている。
上はその日本語訳のようだ。
234俺様
03/03/11 11:28ID:+7fowk1S >>232
まあ、重要な部分だけあといくつか。
あとはその日本語訳をよんでクレイってことで。
これも確かめたほうがいいな。
register_globals = Off
Onにすると変数がグローバル変数となってしまう(だったっけ?)
俺はOnにしたことないからよく知らんが。
4.1.0以降でデフォルトがOnからOffに変わったので注意すべき。
Onのサイトのみで動いていたものをOffのサイトで動かすには
結構スクリプトの書き換えが必要。
まあ、重要な部分だけあといくつか。
あとはその日本語訳をよんでクレイってことで。
これも確かめたほうがいいな。
register_globals = Off
Onにすると変数がグローバル変数となってしまう(だったっけ?)
俺はOnにしたことないからよく知らんが。
4.1.0以降でデフォルトがOnからOffに変わったので注意すべき。
Onのサイトのみで動いていたものをOffのサイトで動かすには
結構スクリプトの書き換えが必要。
235俺様死ね
03/03/11 11:31ID:???236俺様
03/03/11 11:37ID:+7fowk1S ; UNIX: "/パス1:/パス2"
;include_path = ".:/php/includes"
;
; Windows: "\パス1;\パス2"
;include_path = ".;c:\php\includes"
必要なら先頭の『;』は外しておこう。
例えば、DBで便利なPearを使うなら
include_path = ".;c:\php\includes;c:\php\pear;"
ってな感じにディレクトリを加えたほうが良い。
PearはPHPインストール時にデフォルトで付いてくるのだが
サーバー上でincludeできる設定になっていない場合、
自分で使いたかったらPear自体を自分のディレクトリに
アップロードしないとならないかも。
;include_path = ".:/php/includes"
;
; Windows: "\パス1;\パス2"
;include_path = ".;c:\php\includes"
必要なら先頭の『;』は外しておこう。
例えば、DBで便利なPearを使うなら
include_path = ".;c:\php\includes;c:\php\pear;"
ってな感じにディレクトリを加えたほうが良い。
PearはPHPインストール時にデフォルトで付いてくるのだが
サーバー上でincludeできる設定になっていない場合、
自分で使いたかったらPear自体を自分のディレクトリに
アップロードしないとならないかも。
237俺様
03/03/11 11:47ID:+7fowk1S >>235
フォローサンクス。
あと、
; cgi.force_redirect = 1
はこのように変えたほうがいい。
cgi.force_redirect = 0
ただ、PHP4.3.0はこの挙動がおかしくなるバグがあるらしいので注意。
フォローサンクス。
あと、
; cgi.force_redirect = 1
はこのように変えたほうがいい。
cgi.force_redirect = 0
ただ、PHP4.3.0はこの挙動がおかしくなるバグがあるらしいので注意。
239俺様
03/03/11 11:51ID:+7fowk1S 後はこれだ。
extension_dir = ""
きちんとextensionsディレクトリをさすようにしておこう。
extension_dir = "C:/php/extensions"
extension_dir = ""
きちんとextensionsディレクトリをさすようにしておこう。
extension_dir = "C:/php/extensions"
2412
03/03/11 11:56ID:138sEgV0 何気に息が合ってそうなのが面白い。
がんがれ。
がんがれ。
242俺様
03/03/11 12:03ID:+7fowk1S ああ、あとそのディレクトリをきちんと設定しても
一部のDLLは使えるようになっていない。
Windows使いなら
;Windows Extensions
;Note that MySQL and ODBC support is now built in, so no dll is needed for it.
;
;extension=php_bz2.dll
;extension=php_cpdf.dll
・・・
使いたいdllの先頭の;を外す必要がある。
具体的に各鯖でどうなってるかはphpinfo()読めば大体わかるでしょう。
一部のDLLは使えるようになっていない。
Windows使いなら
;Windows Extensions
;Note that MySQL and ODBC support is now built in, so no dll is needed for it.
;
;extension=php_bz2.dll
;extension=php_cpdf.dll
・・・
使いたいdllの先頭の;を外す必要がある。
具体的に各鯖でどうなってるかはphpinfo()読めば大体わかるでしょう。
243俺様
03/03/11 12:05ID:+7fowk1S まあ、重要な設定はこんなもんか?
後は上の日本語訳や
マニュアルにもけっこう説明がしてあるはずだから
それを読んでクレイ。
後は上の日本語訳や
マニュアルにもけっこう説明がしてあるはずだから
それを読んでクレイ。
244nobodyさん
03/03/11 12:32ID:??? register_globals対策。
php3 -> php4で一番困るのが
register_globals
で、Sourceを手っ取りばやく移植するにはSourceの先頭で
$hoge = $_POST["hoge"];
ってな感じにする。
php3 -> php4で一番困るのが
register_globals
で、Sourceを手っ取りばやく移植するにはSourceの先頭で
$hoge = $_POST["hoge"];
ってな感じにする。
247nobodyさん
03/03/11 13:09ID:??? extract
248俺様
03/03/11 13:21ID:Aj/riikG レッツPHPより引用
>■修正の仕方
>以前のスクリプトを、PHP4.1.0以降に対応させるには、
>以下の文を、最初の<?以降に挿入すると、暫定的に動作するかと思われます。
>extract($_GET);
>extract($_POST);
>extract($_COOKIE);
>extract($_SERVER);
>extract($_SESSION);←セッションを使う場合
>未確認なので動作は保証しません。extractは配列を変数に展開するための関数です($_GET[f]=2002なら$fに2002が入る)
>■修正の仕方
>以前のスクリプトを、PHP4.1.0以降に対応させるには、
>以下の文を、最初の<?以降に挿入すると、暫定的に動作するかと思われます。
>extract($_GET);
>extract($_POST);
>extract($_COOKIE);
>extract($_SERVER);
>extract($_SESSION);←セッションを使う場合
>未確認なので動作は保証しません。extractは配列を変数に展開するための関数です($_GET[f]=2002なら$fに2002が入る)
249nobodyさん
03/03/12 22:56ID:??? phpをcgiとして使用した場合は
・Perl/CGIと比較して処理速度の高速化
・サーバー負荷の低減
これらのメリットは無くなるということですか?
・Perl/CGIと比較して処理速度の高速化
・サーバー負荷の低減
これらのメリットは無くなるということですか?
251俺様
03/03/13 11:51ID:??? 今日はいよいよDBについて書こう。ようやく使い方がわかってきたので。
PostgreでもMyでも使えるようにPearを用います。
対応DB
Interbase
Mini-SQL
Microsoft SQL Server
MySQL
Oracle 8 (OCI)
ODBC
PostgreSQL
Sybase
PostgreでもMyでも使えるようにPearを用います。
対応DB
Interbase
Mini-SQL
Microsoft SQL Server
MySQL
Oracle 8 (OCI)
ODBC
PostgreSQL
Sybase
252俺様
03/03/13 11:59ID:???253俺様
03/03/13 12:09ID:??? MySQLのみインストール方法も書いておこう。
http://www.mysql.com/downloads/
ここからバージョンを選んで(勇気ない俺は4ではなく3.23)
Windows downloadsってのを落とす。
で、seteupを実行してnext連打でOK(一応要確認)。
インストールしたらc\:windows辺りにmy.iniってファイルが出来ていると思うので
それを開いてこれを追加。
[mysqld]
default-character-set=sjis
以上で完了だ。
PostgreSQLはcygwinを入れたりアカウント作ったりと面倒なので各自で調べてくれ。
何とかインストールできたけど数時間掛かった(汗
http://www.mysql.com/downloads/
ここからバージョンを選んで(勇気ない俺は4ではなく3.23)
Windows downloadsってのを落とす。
で、seteupを実行してnext連打でOK(一応要確認)。
インストールしたらc\:windows辺りにmy.iniってファイルが出来ていると思うので
それを開いてこれを追加。
[mysqld]
default-character-set=sjis
以上で完了だ。
PostgreSQLはcygwinを入れたりアカウント作ったりと面倒なので各自で調べてくれ。
何とかインストールできたけど数時間掛かった(汗
254俺様
03/03/13 12:11ID:??? ああ、後winmysqladmin.exeってのも
一度実行してユーザー名とパスを決めるように。
外部に公開しない場合はキャンセルでも良いでしょう。
一度実行してユーザー名とパスを決めるように。
外部に公開しない場合はキャンセルでも良いでしょう。
255俺様
03/03/13 12:17ID:??? PHPにはいる前に単独での動作確認もしておきましょう。
DOSプロンプトで
C:\>mysql\bin\mysql
で、
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 50 to server version: 3.23.55-nt
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
こんなふうになったら成功だ。
DOSプロンプトで
C:\>mysql\bin\mysql
で、
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 50 to server version: 3.23.55-nt
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
こんなふうになったら成功だ。
256俺様
03/03/13 12:24ID:??? Pearはここを参考。
http://pear.php.net/manual/ja/
調べたところによるとWindows用PHP4.3以降では
標準で付かなくなってしまったらしいので
上を参考に落としておきましょう。
http://pear.php.net/manual/ja/
調べたところによるとWindows用PHP4.3以降では
標準で付かなくなってしまったらしいので
上を参考に落としておきましょう。
257俺様
03/03/13 12:25ID:??? もちろん4.2以前から使ってた人は
最初からPearも使用できます。
最初からPearも使用できます。
258俺様
03/03/13 12:30ID:??? というか調べてるうちに(・∀・)イイ!サイト見つけたな。
これ見れば俺様の説明なんぞ用なしかも。
http://tsuttayo.sytes.net/mysql/index.html
これ見てphpMyAdminとかも入れておくと良い。
ブラウザからアクセスできるのでレンタル鯖などでも手軽に使えるのが特徴。
これ見れば俺様の説明なんぞ用なしかも。
http://tsuttayo.sytes.net/mysql/index.html
これ見てphpMyAdminとかも入れておくと良い。
ブラウザからアクセスできるのでレンタル鯖などでも手軽に使えるのが特徴。
259山崎渉
03/03/13 17:01ID:??? (^^)
260nobodyさん
03/03/15 21:28ID:??? age
261nobodyさん
03/03/15 22:18ID:??? MySQL入れました。
最初、エラーが出て焦りました。
mysqladminいいかも。
最初、エラーが出て焦りました。
mysqladminいいかも。
262nobodyさん
03/03/19 23:10ID:??? つづきまだー
264nobodyさん
03/03/20 01:11ID:??? 実践編が欲しいな。
なんかのコピペジェネレータを作るとか。
てかフォームを表示して受け取ってとかやってるとすんげー
HTMLとPHPのコードが入り乱れて汚くなっちゃうんだけど、どうすりゃいいの?
なんかのコピペジェネレータを作るとか。
てかフォームを表示して受け取ってとかやってるとすんげー
HTMLとPHPのコードが入り乱れて汚くなっちゃうんだけど、どうすりゃいいの?
265nobodyさん
03/03/20 15:43ID:??? 上でデータを作って下で表示させりゃいい。
<?
//極手抜き
$hoge = $_POST["hoge"];
?>
<HTML>
<H1><? print $hoge; ?></H1>
</HTML>
とか。
<?
//極手抜き
$hoge = $_POST["hoge"];
?>
<HTML>
<H1><? print $hoge; ?></H1>
</HTML>
とか。
266nobodyさん
03/03/20 16:41ID:??? 俺様殿江。ファイルとディレクトリの扱い方について解説して下さい。
267nobodyさん
03/03/20 16:59ID:??? Perl の Taint モードみたいのって、PHP にありますか?
268nobodyさん
03/03/20 19:10ID:??? Perlのexitや__END__みたいなヤシはありますか?
269nobodyさん
03/03/20 19:39ID:??? $fh = @fopen($file,"w");
の@はperlの何に相当するんですか?単にfopenじゃイクナイの?
の@はperlの何に相当するんですか?単にfopenじゃイクナイの?
270nobodyさん
03/03/20 20:28ID:???271nobodyさん
03/03/20 21:50ID:???272nobodyさん
03/03/20 22:09ID:???276nobodyさん
03/03/25 14:18ID:CVcoKJbJ メモ。
$a = $b || $c;
perl では、$b が false の場合は $c が $a に代入される。
php の場合は、 $a には $b || $c の bool値(0 or 1)が入る。
$a = $b || $c;
perl では、$b が false の場合は $c が $a に代入される。
php の場合は、 $a には $b || $c の bool値(0 or 1)が入る。
278nobodyさん
03/03/26 06:38ID:l1CVp/e0 ISPによっては、PEARとかの拡張モジュールが入ってない
ところがあるだろうけど、自分で使えるように拡張できるの
ですか?
例えばPerlでいえば、モジュールを自分のディレクトリに入れ
ておけばいいけど、そーゆーことはPHPでできますか?
ところがあるだろうけど、自分で使えるように拡張できるの
ですか?
例えばPerlでいえば、モジュールを自分のディレクトリに入れ
ておけばいいけど、そーゆーことはPHPでできますか?
279nobodyさん
03/03/26 09:07ID:???280nobodyさん
03/03/27 05:59ID:p+/0Vcby >>279
できるのですか。
PHPは、PHP.INIにいろいろな基本設定を書いたりするようなので、
通常ISPでCGIやると、それを編集するのは許されないだろうから
無理だとおもっていました。
PHP.INI に記述された設定は、スクリプト内で変更できるのですか?
できるのですか。
PHPは、PHP.INIにいろいろな基本設定を書いたりするようなので、
通常ISPでCGIやると、それを編集するのは許されないだろうから
無理だとおもっていました。
PHP.INI に記述された設定は、スクリプト内で変更できるのですか?
281nobodyさん
03/03/27 08:34ID:illH7cXT > PHP.INI に記述された設定は、スクリプト内で変更できるのですか?
ini_set -- 設定オプションの値を設定する
string ini_set ( string varname, string newvalue)
だけど、全ての設定が変更可能ではなく、pathの設定とかは確か無理だったかな。
include_pathの設定は、カレント・ディレクトリに
<?php require_once '/full/path/of/PEAR.php'; ?>
とか、リンクを PEAR.phpと言う名前で置くことで対応。
ini_set -- 設定オプションの値を設定する
string ini_set ( string varname, string newvalue)
だけど、全ての設定が変更可能ではなく、pathの設定とかは確か無理だったかな。
include_pathの設定は、カレント・ディレクトリに
<?php require_once '/full/path/of/PEAR.php'; ?>
とか、リンクを PEAR.phpと言う名前で置くことで対応。
282nobodyさん
03/03/27 10:50ID:??? Perl の
$ perl -wcT hoge.pl
に相当する PHP の簡単な文法チェック方法って無い?
$ perl -wcT hoge.pl
に相当する PHP の簡単な文法チェック方法って無い?
283nobodyさん
03/03/27 11:08ID:??? 質問です。
例えば名前とトリップを分離する場合、Perl なら
if ($FROM =~ /(.*)(\#\S+)/) {
$name = $1;
$trip = $2;
}
と、$1, $2 使って楽できるんだけど、
PHP で↑の $1, $2 みたいなモノに相当するのって何ですか?
例えば名前とトリップを分離する場合、Perl なら
if ($FROM =~ /(.*)(\#\S+)/) {
$name = $1;
$trip = $2;
}
と、$1, $2 使って楽できるんだけど、
PHP で↑の $1, $2 みたいなモノに相当するのって何ですか?
285nobodyさん
03/03/27 11:21ID:??? >>284
あー例が悪かったですね。丁度身近にあったので出しちゃいました。
要はマッチした部分を簡単に再利用できないか?という質問です。
つまり、Perl の $1, $2 に相当するモノって何だろう、ということです。
あー例が悪かったですね。丁度身近にあったので出しちゃいました。
要はマッチした部分を簡単に再利用できないか?という質問です。
つまり、Perl の $1, $2 に相当するモノって何だろう、ということです。
286nobodyさん
03/03/27 11:25ID:??? \\1,\\2
287nobodyさん
03/03/27 12:02ID:??? >>286
\\1, \\2 ってどう使うのでしょう?
マッチングの後に、print \\1; とかやったらエラーになりました…。
再度、google 様に問い合わせたら、
if (ereg("(.*)(\#[^ \t\n\r\f]+)", $FROM, $regs)) {
$name = $regs[1];
$trip = $regs[2];
}
でいいみたいですね。調査が甘くてすみません。
\\1, \\2 ってどう使うのでしょう?
マッチングの後に、print \\1; とかやったらエラーになりました…。
再度、google 様に問い合わせたら、
if (ereg("(.*)(\#[^ \t\n\r\f]+)", $FROM, $regs)) {
$name = $regs[1];
$trip = $regs[2];
}
でいいみたいですね。調査が甘くてすみません。
288nobodyさん
03/03/27 12:52ID:??? 自己レスです。
\\1, \\2 は
$url = ereg_replace("(http://ime.nu/)(.*)", "http://\\2", $url);
こうでしたか。
レスありがとうございました。>>286
\\1, \\2 は
$url = ereg_replace("(http://ime.nu/)(.*)", "http://\\2", $url);
こうでしたか。
レスありがとうございました。>>286
289nobodyさん
03/03/27 14:34ID:??? magic quotes gpc なるヤツでここしばらく悩んでた。
勝手にエスケープされるなんて、まるで想像もつかなかった。
Perl → PHP への道、俺にとってはかなり遠い。でもガンガルsage
ところで tr/ab/cd/ って PHP ではどーやんの?
勝手にエスケープされるなんて、まるで想像もつかなかった。
Perl → PHP への道、俺にとってはかなり遠い。でもガンガルsage
ところで tr/ab/cd/ って PHP ではどーやんの?
292nobodyさん
03/03/28 04:03ID:??? 俺様ありがd
C/C++とPerlとVBとPascalとASM位しか知らなかったのだが、
よーやくPHPに手が伸びそうでつ。
C/C++とPerlとVBとPascalとASM位しか知らなかったのだが、
よーやくPHPに手が伸びそうでつ。
293nobodyさん
03/03/28 06:56ID:NA3CJ6rA >>281
教えていただき、ありがとう。
システム側で設定したPHP動作設定値を変えられないとなると、
ISPで利用する場合、大きな壁になりそうですね。
例えばアップロードファイルのサイズは2Mまでだから、それを超え
るものをアップさせる仕様に対応できない。
PHPでWebアプリ組んでも、いつかはユーザ要件に対応できずに全部
Perl等に書き直す時が来るかも、ということでしょうか?
教えていただき、ありがとう。
システム側で設定したPHP動作設定値を変えられないとなると、
ISPで利用する場合、大きな壁になりそうですね。
例えばアップロードファイルのサイズは2Mまでだから、それを超え
るものをアップさせる仕様に対応できない。
PHPでWebアプリ組んでも、いつかはユーザ要件に対応できずに全部
Perl等に書き直す時が来るかも、ということでしょうか?
294nobodyさん
03/03/28 08:06ID:56FSUIhD295nobodyさん
03/03/28 18:00ID:56FSUIhD 既出だけど、三項演算子のネストではまった事あったのでそのときの教訓。
Perl と PHP では、演算子の優先順位に結構違いがあるので
一度目を通しておこう。
$r =
($foo < $bar) ? "LESS" :
($foo > $bar) ? "GREATER" :
"EQUAL";
Perl と PHP では、演算子の優先順位に結構違いがあるので
一度目を通しておこう。
$r =
($foo < $bar) ? "LESS" :
($foo > $bar) ? "GREATER" :
"EQUAL";
296nobodyさん
03/03/28 18:49ID:56FSUIhD >> 282
php -l script.php
-w は、error_reporting(E_ALL); に相当?(かな?)
Taint モードについては、私も前に探したことあるけどPHPには見つけられなかった。
汚染チェックは、自主的にそういう習慣を身につけるしかないのかな。
php -l script.php
-w は、error_reporting(E_ALL); に相当?(かな?)
Taint モードについては、私も前に探したことあるけどPHPには見つけられなかった。
汚染チェックは、自主的にそういう習慣を身につけるしかないのかな。
297nobodyさん
03/03/28 19:00ID:??? @sortdata = sort { (split(/\,/,$a))[2] <=> (split(/\,/,$b))[2] } @hogehoge;
Perlでいう↑みたいなことはPHPではどうやればできますか?
Perlでいう↑みたいなことはPHPではどうやればできますか?
299nobodyさん
03/03/28 20:35ID:/IEo7+Sn∧_∧ _ _ .' , .. . ∧_∧
( ´_ゝ`) _ .- ― .= ̄  ̄`:, .∴ ' ( >>297)
/ '' ̄ __――=', ・,‘ r⌒> _/ /
/ /\ / ̄\-―  ̄ ̄  ̄"'" . ’ | y'⌒ ⌒i
_| ̄ ̄ \ / ヽ \_ | / ノ |
\ ̄ ̄ ̄ ̄ ̄ ̄ \__) , ー' /´ヾ_ノ
||\ \ / , ノ
||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄ / / /
|| || ̄ ̄ ̄ ̄ ̄ ̄ ̄|| / / ,'
|| || || / /| |
!、_/ / 〉
|_/
300nobodyさん
03/03/29 13:38ID:CQcFf7wk301nobodyさん
03/03/29 18:28ID:??? %hash = map { $_ => 1 } @list;
とか、
@hash{@list} = (1) x @list;
Perlでいう↑みたいなことはPHPではどうやればできますか?
とか、
@hash{@list} = (1) x @list;
Perlでいう↑みたいなことはPHPではどうやればできますか?
302phpformperl
03/03/29 20:26ID:kc16+nkl 手本になるようなきれいなPHPコードどれかしってまっか?
やっぱxoopsでっか?
やっぱxoopsでっか?
303nobodyさん
03/03/29 22:26ID:??? >>302
XOOPSを積極的に弄っている身としては残念なことだが、
決してきれいなコードではないし、流れを追うのも面倒。
過去のしがらみとかあるので大きく変えられないことや、
複数人で作っているが、細かい部分で明確な規定がある訳ではないので
コア、標準モジュール、果ては標準外の勝手モジュールまで入れると
コードの統一はされていないと思っていい。
フレームワークとしては非常に緩いのでモジュールのコードまで
含めるのは本来フェアではないのだが。
あとJpGraphもコードはちょっとね。便利に使わしてもらってますけど。
XOOPSを積極的に弄っている身としては残念なことだが、
決してきれいなコードではないし、流れを追うのも面倒。
過去のしがらみとかあるので大きく変えられないことや、
複数人で作っているが、細かい部分で明確な規定がある訳ではないので
コア、標準モジュール、果ては標準外の勝手モジュールまで入れると
コードの統一はされていないと思っていい。
フレームワークとしては非常に緩いのでモジュールのコードまで
含めるのは本来フェアではないのだが。
あとJpGraphもコードはちょっとね。便利に使わしてもらってますけど。
304phpfromperl
03/03/30 13:14ID:fNA6Ajxw305nobodyさん
03/03/30 21:07ID:??? sub test {
my $num = 0;
return sub {
$num += shift if @_ == 1;
return $num;
}
}
Perlでいう↑みたいなことはPHPではどうやればできますか?
my $num = 0;
return sub {
$num += shift if @_ == 1;
return $num;
}
}
Perlでいう↑みたいなことはPHPではどうやればできますか?
306nobodyさん
03/03/31 00:21ID:??? >297,301,305
PHPでFP(関数プログラミング)でもやりたいのかな?
lambda 代わりに create_function,
array_(map|reduce|filter) 後、array_walk, usort。
で、大体御希望の事は出来ると思います。
ただし、…前にも書いたけど &&, || が倫理値を返したり、
…かといって三項演算子を使おうとすると今度は演算子の優先順位が違ったり、
他にも変数のスコープ等、細かな違いがいろいろ有るので、
PHPでのFPはあまりお勧めしない。素直にパラダイムシフトした方が良いと思う。
例えば >305 だと、
function test(){
$num=0;
return create_function('$x','global $num;$num+=$x;return $num;');
}
$num がグローバルに置かれるので、これでは要件を満たせていない。
カプセル化したいのなら、クラスを作る。
class Test{
var $num;
function Test(){ $this->num = 0; }
function add($n){ $this->num += $n; }
function getNum(){ return $this->num; }
}
PHPでFP(関数プログラミング)でもやりたいのかな?
lambda 代わりに create_function,
array_(map|reduce|filter) 後、array_walk, usort。
で、大体御希望の事は出来ると思います。
ただし、…前にも書いたけど &&, || が倫理値を返したり、
…かといって三項演算子を使おうとすると今度は演算子の優先順位が違ったり、
他にも変数のスコープ等、細かな違いがいろいろ有るので、
PHPでのFPはあまりお勧めしない。素直にパラダイムシフトした方が良いと思う。
例えば >305 だと、
function test(){
$num=0;
return create_function('$x','global $num;$num+=$x;return $num;');
}
$num がグローバルに置かれるので、これでは要件を満たせていない。
カプセル化したいのなら、クラスを作る。
class Test{
var $num;
function Test(){ $this->num = 0; }
function add($n){ $this->num += $n; }
function getNum(){ return $this->num; }
}
307nobodyさん
03/03/31 00:21ID:D273gBu9 # 突っ込まれるかもしれないので、一応補足。
現行のバージョンのPHPでは、すべてpublicメンバになるので、
$numへ直接アクセスすることが可能。(Perlのオブジェクトでも同様だよね)
現状(PHP4)では、完全に隠蔽することは出来ない。…はず。(PHP暦浅いので自信なし。フォロー求)
# http://www.php.net/ZEND_CHANGES.txt を読んだところ、
# zend2 engine/PHP5? では private が使えるらしい。
現行のバージョンのPHPでは、すべてpublicメンバになるので、
$numへ直接アクセスすることが可能。(Perlのオブジェクトでも同様だよね)
現状(PHP4)では、完全に隠蔽することは出来ない。…はず。(PHP暦浅いので自信なし。フォロー求)
# http://www.php.net/ZEND_CHANGES.txt を読んだところ、
# zend2 engine/PHP5? では private が使えるらしい。
308名無しさん@Emacs
03/03/31 17:22ID:mhlggPCn perldoc モジュール名、perldoc -f 関数名に該当する PHP のやり方って
なんでしょうか?
なんでしょうか?
309nobodyさん
03/03/31 18:46ID:??? php.netで検索する。
310nobodyさん
03/04/01 02:03ID:??? ブラウザのアドレス欄に
php.net/関数名
pear.php.net/モジュール名
php.net/関数名
pear.php.net/モジュール名
311nobodyさん
03/04/01 18:35ID:??? 倫理値w
312nobodyさん
03/04/01 19:21ID:??? ぷりぃず、晒さないでw
訂正 s/イ/言/
訂正 s/イ/言/
313nobodyさん <>
03/04/01 20:18ID:iGZ3zwAc >310
ローカルには作れんもんでしょうか?
ADSL でも結果が出るまでの "待ち" が気になるの。
ローカルには作れんもんでしょうか?
ADSL でも結果が出るまでの "待ち" が気になるの。
314生徒1
03/04/01 23:58ID:2arYjAuZ foreach (@pairs) {
($name,$value) = split(/=/);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
&jcode'convert(*value, "sjis", "", "z");
$value =~ s/&/&/g;
$value =~ s/</</g;
$value =~ s/>/>/g;
$value =~ s/"/"/g;
$value =~ s/\r\n/<br>/g;
$value =~ s/\r/<br>/g;
$value =~ s/\n/<br>/g;
$in{$name} = $value;
}
こんなのはどうやってますか?
($name,$value) = split(/=/);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
&jcode'convert(*value, "sjis", "", "z");
$value =~ s/&/&/g;
$value =~ s/</</g;
$value =~ s/>/>/g;
$value =~ s/"/"/g;
$value =~ s/\r\n/<br>/g;
$value =~ s/\r/<br>/g;
$value =~ s/\n/<br>/g;
$in{$name} = $value;
}
こんなのはどうやってますか?
316nobodyさん
03/04/03 16:31ID:??? > 倫理値w
右か左を返すんだよ
右か左を返すんだよ
317nobodyさん
03/04/08 14:23ID:??? PHPってx演算子ないの?
print "-" x 10;
みたいな
print "-" x 10;
みたいな
318nobodyさん
03/04/08 15:41ID:??? str_repeat()が近いよ。
319nobodyさん
03/04/08 22:26ID:??? perl にあって PHP にないもの。
PHP にあって perl にないもの。
…って何かないかな?
PHP にあって perl にないもの。
…って何かないかな?
320nobodyさん
03/04/11 00:44ID:fBEofA1c 年寄りデザでつが,これから極めるのならPerlとPHPどっちでつか?
ただPerlと違い,初心者向けの本がPHPにないところが痛いでつが。
ただPerlと違い,初心者向けの本がPHPにないところが痛いでつが。
321nobodyさん
03/04/11 00:47ID:??? でつ厨にはどちらも無理でつ
322nobodyさん
03/04/11 03:50ID:??? ”極める”のなら、Perlの方が面白い。
323nobodyさん
03/04/12 05:30ID:sfZex8vW >>320
私も年寄りですが、Perl、PHPを使ってメシ食ってます。
まったくの初心者が始めるならPHPですね。
HTTPプロトコルをあまり意識する必要がないから、
ブラウザに文字を表示させるのは簡単です。
そのコードも単純明快に理解できます。
一方Perlは、ブラウザに文字を表示させるためには
表示する処理の前に、何行かのおまじないを書かな
ければいけません。
そのおまじないを理解しようとすると、初心者では到底
理解できないので「難しい」ということになるかもしれません。
PHPの本は初心者用がたくさん売られていますよ。
大丈夫です。
私も年寄りですが、Perl、PHPを使ってメシ食ってます。
まったくの初心者が始めるならPHPですね。
HTTPプロトコルをあまり意識する必要がないから、
ブラウザに文字を表示させるのは簡単です。
そのコードも単純明快に理解できます。
一方Perlは、ブラウザに文字を表示させるためには
表示する処理の前に、何行かのおまじないを書かな
ければいけません。
そのおまじないを理解しようとすると、初心者では到底
理解できないので「難しい」ということになるかもしれません。
PHPの本は初心者用がたくさん売られていますよ。
大丈夫です。
324nobodyさん
03/04/12 06:02ID:??? Perlの方が幾分ややこしい気はするね。
Perl->PHPは入りやすいらしいけど逆は結構厳しい。
ちなみに、私は後者です…。
Perl->PHPは入りやすいらしいけど逆は結構厳しい。
ちなみに、私は後者です…。
325320
03/04/12 22:12ID:3Lo6Ghrc >>323
Thanksです。
PHPだと入門書でいきなりECサイトまで行ってしまうのですが,
(チャット作成までなんとかついていっている程度)
Perlだと入門書で息切れするような。。。(とてもECサイトまでナンテ
行きませんよね?)
ただ,やはりデザなので自分一人でECサイトまではやりません。
外に頼むまでもない事を自分でやれるようにするという感じです。
(極めるという表現が不適切でした。)
データバのソートとか,Webの自動更新とか。
そのあたりでPerlとPHPはどうかな?と思ったわけです。
Thanksです。
PHPだと入門書でいきなりECサイトまで行ってしまうのですが,
(チャット作成までなんとかついていっている程度)
Perlだと入門書で息切れするような。。。(とてもECサイトまでナンテ
行きませんよね?)
ただ,やはりデザなので自分一人でECサイトまではやりません。
外に頼むまでもない事を自分でやれるようにするという感じです。
(極めるという表現が不適切でした。)
データバのソートとか,Webの自動更新とか。
そのあたりでPerlとPHPはどうかな?と思ったわけです。
326nobodyさん
03/04/13 00:12ID:??? @array = ($query =~ /([0-9a-fA-F]{4})/g);
これをPHPで表現するとどうなるんですか?
これをPHPで表現するとどうなるんですか?
330nobodyさん
03/04/13 01:12ID:??? おまじないって言ったら1;が浮かぶ
331nobodyさん
03/04/13 03:24ID:Ba9KZRzY PHPって配列厄介だなぁ。
333nobodyさん
03/04/14 01:24ID:???336nobodyさん
03/04/14 02:16ID:??? >334
禿デゥ
禿デゥ
338nobodyさん
03/04/15 16:55ID:JlWa+G1C phpでperlでいうところのpackageの作り方教えてください。
339nobodyさん
03/04/15 18:07ID:??? 331は、ハッシュと配列が一緒なのが気に入らないらしい。あと、
いちいちarray_*系の関数を使わないといけないのも面倒らしい。
いちいちarray_*系の関数を使わないといけないのも面倒らしい。
340nobodyさん
03/04/15 19:26ID:1VLAH3RO >>338
phpは名前空間を定義できない。
phpは名前空間を定義できない。
341山崎渉
03/04/17 12:01ID:??? (^^)
342山崎渉
03/04/18 15:30ID:??? (^^)
343山崎渉
03/04/20 06:02ID:??? ∧_∧
( ^^ )< ぬるぽ(^^)
( ^^ )< ぬるぽ(^^)
344?
03/04/27 10:50ID:7vWz7FBG EUCの配列、文字列をSJISにするのはどういう風にやるの?
345nobodyさん
03/04/27 10:56ID:??? やっぱりpackageはC++でいう名前空間にあたるの?
346nobodyさん
03/04/27 11:36ID:aZMHQklX03/04/27 12:27ID:???
http://www.yamazaki.90.kg/hankaku/hankaku07.html
http://yamazaki.90.kg/zenkaku/index.html
http://www.yamazaki.90.kg/hankaku/hankaku08.html
http://yamazaki.90.kg/hankaku/hankaku10.html
http://www.yamazaki.90.kg/hankaku/hankaku01.html
http://yamazaki.90.kg/hankaku/hankaku03.html
http://www.yamazaki.90.kg/hankaku/hankaku02.html
http://yamazaki.90.kg/hankaku/hankaku09.html
http://www.yamazaki.90.kg/hankaku/hankaku06.html
http://yamazaki.90.kg/hankaku/hankaku04.html
http://www.yamazaki.90.kg/zenkaku/index.html
http://www.yamazaki.90.kg/hankaku/hankaku05.htm
http://yamazaki.90.kg/zenkaku/index.html
http://www.yamazaki.90.kg/hankaku/hankaku08.html
http://yamazaki.90.kg/hankaku/hankaku10.html
http://www.yamazaki.90.kg/hankaku/hankaku01.html
http://yamazaki.90.kg/hankaku/hankaku03.html
http://www.yamazaki.90.kg/hankaku/hankaku02.html
http://yamazaki.90.kg/hankaku/hankaku09.html
http://www.yamazaki.90.kg/hankaku/hankaku06.html
http://yamazaki.90.kg/hankaku/hankaku04.html
http://www.yamazaki.90.kg/zenkaku/index.html
http://www.yamazaki.90.kg/hankaku/hankaku05.htm
348bloom
03/04/27 12:29ID:3nPIuagT349ワッショイ
03/04/27 17:54ID:???350nobodyさん
03/04/28 22:57ID:3GKx/vUL イスラエルとか言われると萎える
351nobodyさん
03/05/05 22:17ID:LIOD5Ueh mb_convert_encodingが使えないサーバの場合は?
352nobodyさん
03/05/05 22:25ID:??? jcode.php
353nobodyさん
03/05/19 23:33ID:cX3VPQ/6 教えてください。
perlで言うところのwarnなんですが、
print error_log($test);
見たいな形でerrorログに$testの値を出そうと思ったのですがうまくいきませんでした。。
どなたかperlでいうところのwarn関数のPHP版を教えてください。
perlで言うところのwarnなんですが、
print error_log($test);
見たいな形でerrorログに$testの値を出そうと思ったのですがうまくいきませんでした。。
どなたかperlでいうところのwarn関数のPHP版を教えてください。
355あぼーん
NGNGあぼーん
356nobodyさん
03/05/20 02:27ID:??? まぁ、胸張れるような場所でもないしな。
357nobodyさん
03/05/20 07:45ID:??? その発言しているサイトがある
インターネット全体からどれだけの犯罪者を出しているんだろうね…
2chから情報を得ておきながら悪口言う人間もいることだし
放置しても平気でしょ
インターネット全体からどれだけの犯罪者を出しているんだろうね…
2chから情報を得ておきながら悪口言う人間もいることだし
放置しても平気でしょ
358nobodyさん
03/05/20 10:19ID:??? 日本人だって
殺人とかの罪犯す奴いるじゃないか
そしたら外国人は
日本人はみんな犯罪者だと思うのか?
殺人とかの罪犯す奴いるじゃないか
そしたら外国人は
日本人はみんな犯罪者だと思うのか?
359山崎渉
03/05/22 01:59ID:??? ━―━―━―━―━―━―━―━―━[JR山崎駅(^^)]━―━―━―━―━―━―━―━―━―
360nobodyさん
03/05/22 12:59ID:??? open( LOCK, ">./lock/count.lock" );# ロック用のファイルを作る(※1)
flock( LOCK, 2 );# ファイルをロックする
open( COUNT, "./log/count.log" );# カウンターの値が入ったファイルを開く
$count = <COUNT>;# カウンター値を読み出す
close( COUNT );# カウンターファイルを閉じる
$count++;# カウンターを+1する
open( CTEMP, ">./log/count2.log" );# 更新したカウンタの値を別のファイルに一時的に書き出す(※2)
print CTEMP $count;
$ezcount = "";#カウントファイルの数字を絵文字に変換
for ($i = length($count) - 1; $i >= 0; $i --) {
$n = int(substr($count, $i, 1));
if ($n == 0) {
$ezcount = "<img localsrc=\"325\">" . $ezcount;
} else {
$ezcount = "<img localsrc=\"".(179+$n)."\">".$ezcount;
}
}
close( CTEMP );# 一時的に書き出したファイルを閉じる(書き込み完了)
rename( "./log/count2.log", "./log/count.log" );# 一時的に書き出したファイルを本来のファイル名にリネーム
unlink( "./lock/count.lock" );
flock( LOCK, 8 );
close( LOCK );
これをPHPにしたいのですが…だれかお願いします!
flock( LOCK, 2 );# ファイルをロックする
open( COUNT, "./log/count.log" );# カウンターの値が入ったファイルを開く
$count = <COUNT>;# カウンター値を読み出す
close( COUNT );# カウンターファイルを閉じる
$count++;# カウンターを+1する
open( CTEMP, ">./log/count2.log" );# 更新したカウンタの値を別のファイルに一時的に書き出す(※2)
print CTEMP $count;
$ezcount = "";#カウントファイルの数字を絵文字に変換
for ($i = length($count) - 1; $i >= 0; $i --) {
$n = int(substr($count, $i, 1));
if ($n == 0) {
$ezcount = "<img localsrc=\"325\">" . $ezcount;
} else {
$ezcount = "<img localsrc=\"".(179+$n)."\">".$ezcount;
}
}
close( CTEMP );# 一時的に書き出したファイルを閉じる(書き込み完了)
rename( "./log/count2.log", "./log/count.log" );# 一時的に書き出したファイルを本来のファイル名にリネーム
unlink( "./lock/count.lock" );
flock( LOCK, 8 );
close( LOCK );
これをPHPにしたいのですが…だれかお願いします!
362nobodyさん
03/05/25 01:54ID:YbAXJXvg formから$_POST["name"]で値を受け取ったのですが、
値中の「"」と「'」がエスケープされてしまって、「\」がついています。
これは自分で取り除くしかないのでしょうか?
値中の「"」と「'」がエスケープされてしまって、「\」がついています。
これは自分で取り除くしかないのでしょうか?
365362
03/05/25 02:32ID:???367山崎渉
03/05/28 17:06ID:??? ∧_∧
ピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。
=〔~∪ ̄ ̄〕
= ◎――◎ 山崎渉
ピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。
=〔~∪ ̄ ̄〕
= ◎――◎ 山崎渉
368あ
03/05/30 22:54ID:Ey+u4zPh ヒアドキュメントを使うと
print <<<EOF
<タグ>$a<タグ2>
EOF;
の<タグ2>が表示されないのって、どうすりゃいいの???
print <<<EOF
<タグ>$a<タグ2>
EOF;
の<タグ2>が表示されないのって、どうすりゃいいの???
369イ奄様
03/06/02 11:34ID:EOTygtgq370あ
03/06/02 23:18ID:9zPzvWqa THANK!!!
371nobodyさん
03/06/04 00:53ID:1Jdo0O1g jcode.phpでEUC半角カタカナをSJIS全角カタカナにしていのだが。
372nobodyさん
03/06/04 01:12ID:wjzhyKBb373age
03/06/08 17:42ID:cXeOp+rQ age
374_
03/06/08 17:44ID:???375
03/06/08 18:09ID:eRunpr9i 過去ログからのコピーです。http://natto.2ch.net/mass/kako/974/974478132.html
489 名前: 文責:名無しさん 投稿日: 2001/04/11(水) 17:25
一般人なのに盗聴される、じゃなくて、「一般人だから盗聴される」んじゃないのかな?
基本的にネタ集めのためにやってんなら、有名人のネタを盗むと、有名人は告発できるし、
そんなことされても当たり前だと思われるので告発しても信じてもらえる。
そうでない人は、ここの途中の書き込みにもあったように「電波」扱いされるだけ。
ただで、ネタを仕入れるんなら、一般人に限るでしょう。
マスコミは自分らの無能さを恥じてほしいです。
ちなみに私が盗聴されはじめたのは、芸能人にストーカーされ始めてからでした。
そこからマスコミに広がって行った。
だから余計「妄想」とか思われそう。
友人に話したら完全に病気扱いされた。ストーカーって言葉がない時代だったしね。
書いておいておいた小説のネタが、他人の原作でドラマ化されたときにはきれまくっ
たなあ。(一度や二度のことじゃないけど)
489 名前: 文責:名無しさん 投稿日: 2001/04/11(水) 17:25
一般人なのに盗聴される、じゃなくて、「一般人だから盗聴される」んじゃないのかな?
基本的にネタ集めのためにやってんなら、有名人のネタを盗むと、有名人は告発できるし、
そんなことされても当たり前だと思われるので告発しても信じてもらえる。
そうでない人は、ここの途中の書き込みにもあったように「電波」扱いされるだけ。
ただで、ネタを仕入れるんなら、一般人に限るでしょう。
マスコミは自分らの無能さを恥じてほしいです。
ちなみに私が盗聴されはじめたのは、芸能人にストーカーされ始めてからでした。
そこからマスコミに広がって行った。
だから余計「妄想」とか思われそう。
友人に話したら完全に病気扱いされた。ストーカーって言葉がない時代だったしね。
書いておいておいた小説のネタが、他人の原作でドラマ化されたときにはきれまくっ
たなあ。(一度や二度のことじゃないけど)
376age
03/06/13 23:55ID:nW6iX8p9 a
377nobodyさん
03/06/14 01:09ID:Zt1p4X90378無料動画直リン
03/06/14 01:10ID:K+P5CDjB379nobodyさん
03/06/15 21:40ID:???380nobodyさん
03/06/19 03:00ID:yyOItGJy あ
381nobodyさん
03/06/19 19:42ID:??? HTMLとPHPコードを分離したいんだけど、
何か方法ありますか?perlでいうとこの
HTML::Template みたいなのとか。
何か方法ありますか?perlでいうとこの
HTML::Template みたいなのとか。
382nobodyさん
03/06/20 00:47ID:???384nobodyさん
03/07/03 21:53ID:??? perlのdefinedみたいな奴
変数の定義がされているかどうかの
チェックはどうやったらいいですか?
変数の定義がされているかどうかの
チェックはどうやったらいいですか?
385384
03/07/05 12:49ID:??? 同名関数ありますた。スマソ
386nobodyさん
03/07/05 13:00ID:??? でも定数のみですた。
もうだめぽ ..
もうだめぽ ..
387nobodyさん
03/07/05 13:14ID:??? isset ですた。
388山崎 渉
03/07/15 11:11ID:???__∧_∧_
|( ^^ )| <寝るぽ(^^)
|\⌒⌒⌒\
\ |⌒⌒⌒~| 山崎渉
~ ̄ ̄ ̄ ̄
389nobodyさん
03/07/23 10:22ID:A887jOLI PerlからPHPに入るとPHPで簡単にできることを
Perlっぽく遠回りに書いてしまうことってないですか?
逆も然り
そーゆー注意点とか教えて下さい。
Perlっぽく遠回りに書いてしまうことってないですか?
逆も然り
そーゆー注意点とか教えて下さい。
390nobodyさん
03/07/23 13:26ID:??? Perl癖を取るためにもPHPに限らず
他の言語に興味を持つといいと思います。
他の言語に興味を持つといいと思います。
391nobodyさん
03/07/24 01:46ID:??? もうそろそろPHPにも手を出してみるかと思ってたが、
このスレ見たらやる気なくした。やっぱC/C++にするわ。
まず第一に<?〜?>にコード書くなんて本当にキモいよ。
(JSPやASPも同じようなもんだがな)
PHPってCGI/Perlの速度に我慢できなくなった奴が、C/C++はできないから
しょうがなく使ってるんだろ?
プロはJavaとかASP使うし、素人はPerlで十分(環境も整ってる)。
速度ががまんならないならC/C++、もしくはモジュール資産を活かして
mod-perlだな。
PHPの選択はまずありえないね。
このスレ見たらやる気なくした。やっぱC/C++にするわ。
まず第一に<?〜?>にコード書くなんて本当にキモいよ。
(JSPやASPも同じようなもんだがな)
PHPってCGI/Perlの速度に我慢できなくなった奴が、C/C++はできないから
しょうがなく使ってるんだろ?
プロはJavaとかASP使うし、素人はPerlで十分(環境も整ってる)。
速度ががまんならないならC/C++、もしくはモジュール資産を活かして
mod-perlだな。
PHPの選択はまずありえないね。
392nobodyさん
03/07/24 10:31ID:??? ASP使ってる時点でOutだと思うがね。
とりあえず海外見てきたら?
とりあえず海外見てきたら?
393nobodyさん
03/07/25 12:40ID:??? 範囲演算子".."がないのが激しくムカツクんだが。
394_
03/07/25 13:14ID:???395nobodyさん
03/07/25 13:21ID:??? http://www.adultshoping.com/addclickport.cgi?pid=1058922748
●無料でパソコンだけで月に10万円↑稼げます!
登録完全無料!お小遣いが沢山稼げちゃいます。
月に平均10万円ほど稼げます。頑張ればもっと!
夏休みを有効に利用しましょう!
無料だから登録しないと損します〜。
●無料でパソコンだけで月に10万円↑稼げます!
登録完全無料!お小遣いが沢山稼げちゃいます。
月に平均10万円ほど稼げます。頑張ればもっと!
夏休みを有効に利用しましょう!
無料だから登録しないと損します〜。
397nobodyさん
03/07/25 14:02ID:??? ↑趣味に効率は全く必要ないそうです
399nobodyさん
03/07/26 02:18ID:??? 改行コードCRLFで保存したファイルを
配列で1行づつ配列で取り出して保存したいんですが、
何故かPHPだと改行コード(CRCR...LF)と増え続けます。
改行コードの仕様の問題なんっすかねぇ?
# Perl
open( IN , "hoge.dat" );
@lines = <IN>;
close( IN );
#何か処理
open( OUT , ">hoge.dat" );
print OUT @lines;
close( OUT );
// PHP
$lines = file( "hoge.dat" );
// 何か処理
$fp = fopen( "hoge.dat" , "w" );
foreach( $lines as $line ){
fputs( $fp, $line );
}
fclose( $fp );
配列で1行づつ配列で取り出して保存したいんですが、
何故かPHPだと改行コード(CRCR...LF)と増え続けます。
改行コードの仕様の問題なんっすかねぇ?
# Perl
open( IN , "hoge.dat" );
@lines = <IN>;
close( IN );
#何か処理
open( OUT , ">hoge.dat" );
print OUT @lines;
close( OUT );
// PHP
$lines = file( "hoge.dat" );
// 何か処理
$fp = fopen( "hoge.dat" , "w" );
foreach( $lines as $line ){
fputs( $fp, $line );
}
fclose( $fp );
400nobodyさん
03/07/26 02:50ID:??? >>399
CRが付くって事は環境はWindows?
perlでいうbinmode($fp)ていう関数ないかね?
http://flex.ee.uec.ac.jp/texi/perl/perl_76.html#IDX157
CRが付くって事は環境はWindows?
perlでいうbinmode($fp)ていう関数ないかね?
http://flex.ee.uec.ac.jp/texi/perl/perl_76.html#IDX157
401nobodyさん
03/07/26 03:36ID:??? >>400
バイナリモードで開く"wb"(WINのみ)
$fp = fopen( "hoge.dat" , "wb" );
とすると一応解決しますね。サンクスです。
根本的な解決になってるのかどうか微妙っす。
バイナリモードで開く"wb"(WINのみ)
$fp = fopen( "hoge.dat" , "wb" );
とすると一応解決しますね。サンクスです。
根本的な解決になってるのかどうか微妙っす。
402nobodyさん
03/07/26 04:30ID:??? >>401
テキストモードで開くと
fputs などの出力処理中に \n が見つかった際に
内部で \r\n に置き換えるという小さな親切を行ってくれます
バイナリモードならそれをやらないので解決だと思われまする
テキストモードで開くと
fputs などの出力処理中に \n が見つかった際に
内部で \r\n に置き換えるという小さな親切を行ってくれます
バイナリモードならそれをやらないので解決だと思われまする
403402
03/07/26 04:33ID:??? うーん、でも読み込む際も CRLF⇒LF 変換やってくれたような?
まあいいや。たぶん大丈夫。
まあいいや。たぶん大丈夫。
404nobodyさん
03/07/26 16:31ID:??? >内部で \r\n に置き換えるという小さな親切を行ってくれます
なるほそ。小さな親切ですね・・・
なるほそ。小さな親切ですね・・・
405nobodyさん
03/07/28 20:34ID:MPvwsvte perlで、書き込み処理を終えたあとに他のページに飛ばすとき、
print "Location:./santa.cgi?$no\n\n";
exit;
などとしていましたが、phpでこれと同等なのはどういうコマンドでしょうか?
コマンド名だけでも良いので助言お願いします。
print "Location:./santa.cgi?$no\n\n";
exit;
などとしていましたが、phpでこれと同等なのはどういうコマンドでしょうか?
コマンド名だけでも良いので助言お願いします。
407nobodyさん
03/07/29 00:10ID:??? header("location: ./santa.php?no");
でどうでしょう。
でどうでしょう。
408nobodyさん
03/07/29 00:53ID:??? locationは絶対パスで指定しなよ…
409nobodyさん
03/07/29 01:11ID:??? どっちでも同じでしょ。
相対だと不都合でるブラウザってあるの?
相対だと不都合でるブラウザってあるの?
410nobodyさん
03/07/29 01:19ID:??? あるよ。
携帯とか。
携帯とか。
411nobodyさん
03/07/29 01:59ID:??? どこの携帯?
412_
03/07/29 02:02ID:???415nobodyさん
03/07/31 09:22ID:??? ○ index.html
× ./index.html
ってのが前あった。
× ./index.html
ってのが前あった。
416山崎 渉
03/08/02 02:23ID:??? ∧_∧
( ^^ )< ぬるぽ(^^)
( ^^ )< ぬるぽ(^^)
417ぼるじょあ ◆ySd1dMH5Gk
03/08/02 04:51ID:??? ∧_∧ ∧_∧
ピュ.ー ( ・3・) ( ^^ ) <これからも僕たちを応援して下さいね(^^)。
=〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
= ◎――――――◎ 山崎渉&ぼるじょあ
ピュ.ー ( ・3・) ( ^^ ) <これからも僕たちを応援して下さいね(^^)。
=〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
= ◎――――――◎ 山崎渉&ぼるじょあ
418nobodyさん
03/08/03 03:36ID:e6CW3yAE 良スレ
あげとく
あげとく
419nobodyさん
03/08/15 21:51ID:/UWm9DVh PHPユーザーのためのPerl入門だれか立ってってくれ!
420山崎 渉
03/08/15 22:25ID:??? (⌒V⌒)
│ ^ ^ │<これからも僕を応援して下さいね(^^)。
⊂| |つ
(_)(_) 山崎パン
│ ^ ^ │<これからも僕を応援して下さいね(^^)。
⊂| |つ
(_)(_) 山崎パン
421nobodyさん
03/08/28 08:28ID:aKTRoIJT PHPでOOPでもと思い、
Perl
use lib './lib/';
use Hoge;
PHP
define( 'LIB_DIR', './lib/' );
include( LIB_DIR . 'Hoge.class.php' );
とやってるんだけど、もうちっと短く書きたいなぁ。
Perl
use lib './lib/';
use Hoge;
PHP
define( 'LIB_DIR', './lib/' );
include( LIB_DIR . 'Hoge.class.php' );
とやってるんだけど、もうちっと短く書きたいなぁ。
422nobodyさん
03/08/30 22:41ID:AS3I0NRv Perlやってた奴が、PHPを勉強するのにいい本って何?
PerlでいうところのプログラミングPerlみたいな
大御所のこれさえ買っとけばたいてい載ってるって本きぼん。
PerlでいうところのプログラミングPerlみたいな
大御所のこれさえ買っとけばたいてい載ってるって本きぼん。
423nobodyさん
03/08/30 23:14ID:AIvW/87l424nobodyさん
03/08/31 13:22ID:AiCjBA+L >>422
赤マンモス
赤マンモス
425nobodyさん
03/09/07 01:36ID:??? HTML::Template, DBI に替わるものがPHP覚える気になるんだけど。
プログラム中にHTML書いてあったら落ち着かない
プログラム中にHTML書いてあったら落ち着かない
426nobodyさん
03/09/07 01:56ID:1pDZ49hH あ
427nobodyさん
03/09/10 00:04ID:EKqTJkq7 検索について教えて下さい。
perlで検索で、$find_lineの中に、$f_a_wordが含まれているかを
if (index($find_line,$f_a_word) >= 0) {
含まれている
} else {
含まれていない
}
このようにしていたのですが、phpだとどのようになりますか?
perlで検索で、$find_lineの中に、$f_a_wordが含まれているかを
if (index($find_line,$f_a_word) >= 0) {
含まれている
} else {
含まれていない
}
このようにしていたのですが、phpだとどのようになりますか?
428427
03/09/10 00:42ID:??? 427です。eregというので出来そうです。
失礼しました。
失礼しました。
429nobodyさん
03/09/10 01:08ID:??? >>425
これじゃだめかな?
やってみてくりくり
<?php
$find_line = "これはテソトです。";
$f_a_word = "テソト";
if(strstr($find_line,$f_a_word)){
echo '$find_lineの中に$f_a_wordは含まれています!';
}
else{
echo '$find_lineの中に$f_a_wordは含まれていません!';
}
?>
これじゃだめかな?
やってみてくりくり
<?php
$find_line = "これはテソトです。";
$f_a_word = "テソト";
if(strstr($find_line,$f_a_word)){
echo '$find_lineの中に$f_a_wordは含まれています!';
}
else{
echo '$find_lineの中に$f_a_wordは含まれていません!';
}
?>
430429です
03/09/10 01:20ID:z4dT6uSf 番号ずれてますたスマソ。
427-428宛のレスです。
OpenJaneって番号ズレるのね。。。
427-428宛のレスです。
OpenJaneって番号ズレるのね。。。
432nobodyさん
03/09/10 10:21ID:??? mb_strpos()とかじゃだめかい?
433nobodyさん
03/09/11 23:16ID:???434nobodyさん
03/09/20 14:31ID:??? ここ、一昨日初めて来たんだけど良スレだね。
おかげで分からなかった事も分かりました。ありがd
おかげで分からなかった事も分かりました。ありがd
435nobodyさん
03/09/20 22:34ID:VeIFc9WR あるディレクトリの一覧をファイル名順でソートしたいと思います。
ただし、.や..や.htaccessといった、「.」で始まるファイルは対象外にしたいのです。
Perlで
---
opendir(DIR, $path);
@list = sort grep(!/^?./, readdir(DIR));
closedir(DIR);
と書くところを、phpではどのように表現すればよいのでしょうか?
ただし、.や..や.htaccessといった、「.」で始まるファイルは対象外にしたいのです。
Perlで
---
opendir(DIR, $path);
@list = sort grep(!/^?./, readdir(DIR));
closedir(DIR);
と書くところを、phpではどのように表現すればよいのでしょうか?
437とおりすがり
03/09/21 03:57ID:??? >>435
自信ないが
$dh = opendir($path);
while ($tmp = readdir($dh)) $filename[] = $tmp;
$filename = preg_grep("/^[^\.]/", $filename);
sort($filename);
closedir($dh);
自信ないが
$dh = opendir($path);
while ($tmp = readdir($dh)) $filename[] = $tmp;
$filename = preg_grep("/^[^\.]/", $filename);
sort($filename);
closedir($dh);
438nobodyさん
03/09/21 19:51ID:??? natsort は?
439nobodyさん
03/09/22 04:27ID:PmE0lLf0 >>437-438
なるほど。このコード実行してないんであれですが、
preg_grep する前に $filename[] = $tmp しちゃうと、
配列$filename内には「.」や「..」が残りそうな雰囲気が…違ったらごめん。
こんな感じにしてみました。
---
if( false !== ($handle = opendir($query_path)) ){ //ディレクトリが開けるなら
while( $file = readdir($handle) ){
if( preg_match ("/^?./", $file) ){
$files[] = $file;
}
}
closedir($handle);
if( count($files) >= 1 ){
sort($files);
}else{
print "このディレクトリ内に読めるファイルはありません?n";
}
}
つーかnatsortって便利ですな。
http://search.net-newbie.com/php/function.natsort.html
なるほど。このコード実行してないんであれですが、
preg_grep する前に $filename[] = $tmp しちゃうと、
配列$filename内には「.」や「..」が残りそうな雰囲気が…違ったらごめん。
こんな感じにしてみました。
---
if( false !== ($handle = opendir($query_path)) ){ //ディレクトリが開けるなら
while( $file = readdir($handle) ){
if( preg_match ("/^?./", $file) ){
$files[] = $file;
}
}
closedir($handle);
if( count($files) >= 1 ){
sort($files);
}else{
print "このディレクトリ内に読めるファイルはありません?n";
}
}
つーかnatsortって便利ですな。
http://search.net-newbie.com/php/function.natsort.html
>437のでOKでは。>439は正規表現が意味不明になってるよ。
正規表現が分からない時はこんなのもアリかな。
while ( $entry = readdir($dh ) {
if ( substr($entry, 0, 1) != '.' )
$files[] = $entry;
}
http://jp.php.net/substr
正規表現が分からない時はこんなのもアリかな。
while ( $entry = readdir($dh ) {
if ( substr($entry, 0, 1) != '.' )
$files[] = $entry;
}
http://jp.php.net/substr
442nobodyさん
03/09/22 11:22ID:??? 全角でもオレには意味不明なんだが・・・
443nobodyさん
03/09/22 16:10ID:??? 分からなかったら聞きましょうね♪
445nobodyさん
03/09/25 23:55ID:??? perlのflock関数だったらさんざん使ったことあるんですが、
perlの場合のflock関数と比較して、
phpのflock関数を使うときの注意点って、特になんか、ありますか?
(ウェブサーバは、Apacheという前提です)
perlの場合のflock関数と比較して、
phpのflock関数を使うときの注意点って、特になんか、ありますか?
(ウェブサーバは、Apacheという前提です)
446445
03/09/28 00:48ID:lxnHIT50 どなたかお答えくださいませ
447nobodyさん
03/09/28 02:01ID:??? lockはlock専用スレがありまっせ。
448nobodyさん
03/09/28 02:26ID:??? >>445
にたようなもんじゃないのかな?
たしか、PHPマニュアルにもflock関数は全ての環境で使えるもんじゃ
ないみたいなこと書いてあったし、
ネットワークファイルシステムに対応してないけりゃ、無理だろうし。
ちなみに、うぇぶさばは関係ないですぞ。
にたようなもんじゃないのかな?
たしか、PHPマニュアルにもflock関数は全ての環境で使えるもんじゃ
ないみたいなこと書いてあったし、
ネットワークファイルシステムに対応してないけりゃ、無理だろうし。
ちなみに、うぇぶさばは関係ないですぞ。
449445
03/09/28 03:46ID:??? >>447
ども。のぞいてきます。
>>448
そうですね。
よく考えりゃ、どっちもOSのflockを呼び出してるってことだから、
特段変わることはないか。。。
>ちなみに、うぇぶさばは関係ないですぞ。
いや、マニュアル
http://www.php.net/manual/ja/function.flock.php
に、
「いくつかのオーペレーティングシステムでflock() はプロセスレベルで実装されています。
ISAPIのようなマルチスレッド 型のサーバーAPIを使用している場合、
同じサーバーインスタンスの並 列スレッドで実行されている他のPHPスクリプトに対してファイルを保 護する際に
flock()を使用することはできません」
って書いてあったから、
ウェブサーバにIIS使ってると、事情が違うのかなと思って一応かいといたもんで。。。
(正直IIS分からんですが)
ども。のぞいてきます。
>>448
そうですね。
よく考えりゃ、どっちもOSのflockを呼び出してるってことだから、
特段変わることはないか。。。
>ちなみに、うぇぶさばは関係ないですぞ。
いや、マニュアル
http://www.php.net/manual/ja/function.flock.php
に、
「いくつかのオーペレーティングシステムでflock() はプロセスレベルで実装されています。
ISAPIのようなマルチスレッド 型のサーバーAPIを使用している場合、
同じサーバーインスタンスの並 列スレッドで実行されている他のPHPスクリプトに対してファイルを保 護する際に
flock()を使用することはできません」
って書いてあったから、
ウェブサーバにIIS使ってると、事情が違うのかなと思って一応かいといたもんで。。。
(正直IIS分からんですが)
450nobodyさん
03/09/28 09:23ID:??? ?
451445
03/09/28 22:34ID:jyRnC+If452nobodyさん
03/09/29 10:34ID:??? 通りがかりだが
あまり気にする事は無いかと
マルチスレッド型を利用している場合、別々に動作している
phpは同一プロセス(の、別スレッド)で動作している事になるので
プロセス単位で排他をかけるflock()は排他の目的には使えない
ということで、HTTPdとphpの組み合わせによる、というのは正しいかも
あまり気にする事は無いかと
マルチスレッド型を利用している場合、別々に動作している
phpは同一プロセス(の、別スレッド)で動作している事になるので
プロセス単位で排他をかけるflock()は排他の目的には使えない
ということで、HTTPdとphpの組み合わせによる、というのは正しいかも
453nobodyさん
03/10/07 22:48ID:??? 保守新党
454nobodyさん
03/10/07 23:44ID:??? $str =~ s/◆/◇/g;
みたいなマルチバイト文字列の置換をPHPでやるにはどうしたらいいんでしょうか。
mb_ereg_replaceはまだ実験段階らしいのであまり乗り気ではなく。
みたいなマルチバイト文字列の置換をPHPでやるにはどうしたらいいんでしょうか。
mb_ereg_replaceはまだ実験段階らしいのであまり乗り気ではなく。
455nobodyさん
03/10/08 00:11ID:??? >>454
str_replaceでも「とりあえずは」OK。
それか、文字列をUTF-8に変換してから
$str_utf8 = preg_replace("/pattern/u", "replace", $str_utf8);
でもOK。
ただしmb_ereg_replaceはライブラリのライセンス絡みでもめてたけど
関数自体は十分実用に耐えるよ。
ライブラリの変更はPHP5で行われ、ユーザレベルでの変更は
不要になる方向らしいから気にすることは無いと思うけど。
ちなみにmb_ereg系を使うときはmb_languageとmb_internal_encodingを
ちゃんと設定していないと駄目。
str_replaceでも「とりあえずは」OK。
それか、文字列をUTF-8に変換してから
$str_utf8 = preg_replace("/pattern/u", "replace", $str_utf8);
でもOK。
ただしmb_ereg_replaceはライブラリのライセンス絡みでもめてたけど
関数自体は十分実用に耐えるよ。
ライブラリの変更はPHP5で行われ、ユーザレベルでの変更は
不要になる方向らしいから気にすることは無いと思うけど。
ちなみにmb_ereg系を使うときはmb_languageとmb_internal_encodingを
ちゃんと設定していないと駄目。
456454
03/10/08 00:30ID:??? >>455
詳細なレスありがとうございます。
試しにpreg_replaceを使った時えらく文字化けしたのでなんでだろと疑問だったんですがこれで解決しました。
一応マルチバイト文字列関数用にphp.iniの設定は書き変えてあるので、
mb_ereg_replaceを使っても将来的に問題ないということならこれでいこうかなと思います。
詳細なレスありがとうございます。
試しにpreg_replaceを使った時えらく文字化けしたのでなんでだろと疑問だったんですがこれで解決しました。
一応マルチバイト文字列関数用にphp.iniの設定は書き変えてあるので、
mb_ereg_replaceを使っても将来的に問題ないということならこれでいこうかなと思います。
457nobodyさん
03/10/18 23:15ID:??? 配列をpackする時ってどうすんの?
他にも$a,$b,@c,$d,…と並べて@cの内容が展開されるようにしたい時とか.
他にも$a,$b,@c,$d,…と並べて@cの内容が展開されるようにしたい時とか.
458nobodyさん
03/10/27 17:51ID:???459nobodyさん
03/10/28 18:22ID:??? $a="abcdABCD";
$a =~ tr/[a-z][A-Z]/[A-Z][a-z]/;
print "content-type:text/html\n\n";
print "$a";
上のコードをPHPに移植し、
$a="abcdABCD";
$a=strtr($a, "[a-z][A-Z]", "[A-Z][a-z]" );
echo $a;
と書いてみたところ、strtr()で正規表現が使えないようなのですが
何か良い方法はないですか。
$a =~ tr/[a-z][A-Z]/[A-Z][a-z]/;
print "content-type:text/html\n\n";
print "$a";
上のコードをPHPに移植し、
$a="abcdABCD";
$a=strtr($a, "[a-z][A-Z]", "[A-Z][a-z]" );
echo $a;
と書いてみたところ、strtr()で正規表現が使えないようなのですが
何か良い方法はないですか。
460nobodyさん
03/10/29 23:14ID:dIX7j6Ca perlだと、csvファイルに対してSQL文を投げられる、SQL.pmっていうのがあるんですが、
phpでそういうモジュールってないでしょうか?
(いやぁ、ほんとはDB使いたいんですけどね。。。わけあってつかえず)
phpでそういうモジュールってないでしょうか?
(いやぁ、ほんとはDB使いたいんですけどね。。。わけあってつかえず)
461nobodyさん
03/11/01 14:03ID:5TPcc+Om 連休中にphp勉強したいぞーage
462nobodyさん
03/11/01 14:49ID:??? >>459
泥臭いけど・・
$a = 'abcdABCD';
$from = implode('',array_merge(range('a','z'),range('A','Z')));
$to = implode('',array_merge(range('A',Z'),range('a','z')));
echo strtr($a,$from,$to);
rangeを使って配列をつくってarray_mergeで配列合体させて
implode(perlでいうところのjoin)で文字列にして置換ってかんじ
連続する文字コードならrangeでいけるよね
泥臭いけど・・
$a = 'abcdABCD';
$from = implode('',array_merge(range('a','z'),range('A','Z')));
$to = implode('',array_merge(range('A',Z'),range('a','z')));
echo strtr($a,$from,$to);
rangeを使って配列をつくってarray_mergeで配列合体させて
implode(perlでいうところのjoin)で文字列にして置換ってかんじ
連続する文字コードならrangeでいけるよね
463nobodyさん
03/11/03 00:41ID:4CVQMxAy perlでいうところの、
print qq|
$hoge
<hr>
<a href="http://www.yahoo.com"></a>
|;
みたいの、phpでないでしょうか?
要は、変数展開もされて、”もエスケープする必要がないように書きたいのですが・・・
print qq|
$hoge
<hr>
<a href="http://www.yahoo.com"></a>
|;
みたいの、phpでないでしょうか?
要は、変数展開もされて、”もエスケープする必要がないように書きたいのですが・・・
464nobodyさん
03/11/03 00:44ID:??? $a =~ tr/[a-z][A-Z]/[A-Z][a-z]/;
なんか無駄がないか?
なんか無駄がないか?
466nobodyさん
03/11/07 15:11ID:GoKF/NUR $a = 2;
switch($a) {
case "1" : global $b = "one";
case "2" : global $b = "two";
case "3" : global $b = "three";
}
echo $a." -> ".$b;
みたいなことをやりたいのですが、switch文では無理ですか?
if,elseif...なら可能なのですが…
switch($a) {
case "1" : global $b = "one";
case "2" : global $b = "two";
case "3" : global $b = "three";
}
echo $a." -> ".$b;
みたいなことをやりたいのですが、switch文では無理ですか?
if,elseif...なら可能なのですが…
467nobodyさん
03/11/07 15:40ID:??? >>466
それを実行すると1〜3のどれを$aに入れても$bが"three"になっちゃう
各分岐のお尻にbreak;付けましょうね
switch($a) {
case "1" : $b = "one"; break;
case "2" : $b = "two"; break;
case "3" : $b = "three"; break;
}
それを実行すると1〜3のどれを$aに入れても$bが"three"になっちゃう
各分岐のお尻にbreak;付けましょうね
switch($a) {
case "1" : $b = "one"; break;
case "2" : $b = "two"; break;
case "3" : $b = "three"; break;
}
468nobodyさん
03/11/07 15:43ID:???470463
03/11/12 04:51ID:FrBzA+Qu >>465
ありがとうございます。
そういえば、php4からヒアドキュメント使えるようになったんですよね。
(php3の知識はあっても、4の知識はあまりないもんで)
ヒアドキュメントで逝ってみます。
ただ、print qq|ほげー|;の手軽さが、なれてしまって、ラクなんですけどね。。。
ともかく、ありがとうございました。
ありがとうございます。
そういえば、php4からヒアドキュメント使えるようになったんですよね。
(php3の知識はあっても、4の知識はあまりないもんで)
ヒアドキュメントで逝ってみます。
ただ、print qq|ほげー|;の手軽さが、なれてしまって、ラクなんですけどね。。。
ともかく、ありがとうございました。
471nobodyさん
03/11/12 05:09ID:??? my $xやvar xみたいな変数の宣言をする方法はないのでしょうか?
472nobodyさん
03/11/12 06:00ID:??? >>471
↓このへんわかりやすいんちゃう?
http://itbtech.itboost.co.jp/php/php_01.php
<引用>
PHP の変数は宣言がありません。
また、明示的に型の指定をしてやる必要もありません。
この辺は Perl と同じです。
必要に応じてキャスト(相当のこと)を行うことはできます。
</引用>
↓このへんわかりやすいんちゃう?
http://itbtech.itboost.co.jp/php/php_01.php
<引用>
PHP の変数は宣言がありません。
また、明示的に型の指定をしてやる必要もありません。
この辺は Perl と同じです。
必要に応じてキャスト(相当のこと)を行うことはできます。
</引用>
473nobodyさん
03/11/12 17:05ID:??? Perlで$a |= "default a";
という書き方を多用していたのですが、
PHPでは$a = !isset($a) ? "default a" : $a;
でよろしいのでしょうか?
という書き方を多用していたのですが、
PHPでは$a = !isset($a) ? "default a" : $a;
でよろしいのでしょうか?
474nobodyさん
03/11/12 20:14ID:??? $a ||= "default a";
なら、
$a || ($a = "default a");
$a or $a = "default a";
とか。
$a |= "default a";
はそのままで通る。
(perl/PHP共に期待したものではないと思うけど)
なら、
$a || ($a = "default a");
$a or $a = "default a";
とか。
$a |= "default a";
はそのままで通る。
(perl/PHP共に期待したものではないと思うけど)
475473
03/11/12 21:19ID:??? >>474
すみません、先ほどは$a ||= "default a";
のことを言っておりました。
で、$a || ($a = "default a");
ですと、$aが未定義の場合、undefined errorが出てしまいます。
(当方error_reporting = ALLにしています)
すみません、先ほどは$a ||= "default a";
のことを言っておりました。
で、$a || ($a = "default a");
ですと、$aが未定義の場合、undefined errorが出てしまいます。
(当方error_reporting = ALLにしています)
476nobodyさん
03/11/12 21:56ID:??? >>475
isset($a) || ($a = "default a");
これでどう?
厳密にはこうだろうけど、
(isset($a) && $a) || ($a = "default a");
長すぎ。
# PHP的には、先にデフォルトを設定するものだと思ってた。
# PHPのエロイ人plz。
isset($a) || ($a = "default a");
これでどう?
厳密にはこうだろうけど、
(isset($a) && $a) || ($a = "default a");
長すぎ。
# PHP的には、先にデフォルトを設定するものだと思ってた。
# PHPのエロイ人plz。
477473
03/11/12 22:08ID:??? > isset($a) || ($a = "default a");
これなら問題なく実行できました。この書き方が一番スマートそうですね。
これなら問題なく実行できました。この書き方が一番スマートそうですね。
478nobodyさん
03/11/12 22:08ID:??? GETのパラメータ区切りに&じゃなく;を使うにはどうしたらよいのでしょうか?
479nobodyさん
03/11/12 22:34ID:??? >>478
php.iniの設定変更
arg_separator.input = ";&"
しか思いつかない。
Perlと関係なければ、
【PHP】質問スレッド Part11
http://pc2.2ch.net/test/read.cgi/php/1067635640/l50
こちらへどぞ。
php.iniの設定変更
arg_separator.input = ";&"
しか思いつかない。
Perlと関係なければ、
【PHP】質問スレッド Part11
http://pc2.2ch.net/test/read.cgi/php/1067635640/l50
こちらへどぞ。
480nobodyさん
03/11/26 02:30ID:??? 俺様帰ってこないかな
別に用は無いんだけど
別に用は無いんだけど
483nobodyさん
03/12/12 01:34ID:??? http://www.cs.wcupa.edu/~rkline/perl2php/
484nobodyさん
03/12/14 00:06ID:??? ソケット通信をする際、相手方のIPアドレスがわかっている場合、
fsockopenの第一引数にIPアドレスを入れれば、
内部的に名前の解決をしなくて済むのでしょうか?
fsockopenの第一引数にIPアドレスを入れれば、
内部的に名前の解決をしなくて済むのでしょうか?
485nobodyさん
03/12/14 21:20ID:??? >>484 ttp://jp.php.net/fsockopen
IP address がすでにわかってるのに名前の解決?
Ip address => name なら、そもそも必要ない。
fsockopen関数の内部で、PHPが名前え解決するかどうかとういう話であれば、
inet_aton が失敗すれば(第一引数のhostが IP address を表す文字列でない場合)、
名前の解決(gethostbyname)がされる様です。
IP address がすでにわかってるのに名前の解決?
Ip address => name なら、そもそも必要ない。
fsockopen関数の内部で、PHPが名前え解決するかどうかとういう話であれば、
inet_aton が失敗すれば(第一引数のhostが IP address を表す文字列でない場合)、
名前の解決(gethostbyname)がされる様です。
486nobodyさん
03/12/14 23:41ID:??? >>485
>fsockopen関数の内部で、PHPが名前え解決するかどうかとういう話であれば、
>inet_aton が失敗すれば(第一引数のhostが IP address を表す文字列でない場合)、
>名前の解決(gethostbyname)がされる様です。
なるほど、ありがとうございます。
大変参考になりました。
>fsockopen関数の内部で、PHPが名前え解決するかどうかとういう話であれば、
>inet_aton が失敗すれば(第一引数のhostが IP address を表す文字列でない場合)、
>名前の解決(gethostbyname)がされる様です。
なるほど、ありがとうございます。
大変参考になりました。
487486
03/12/17 00:08ID:??? IPアドレスでfsockopenと、リモホでfsockopenとで、
処理にかかる時間を比べたんですが、
前者の方が多少遅い結果になりました。
perlの場合とはやはり違うのでしょうか…?
処理にかかる時間を比べたんですが、
前者の方が多少遅い結果になりました。
perlの場合とはやはり違うのでしょうか…?
488nobodyさん
03/12/18 13:37ID:SDZbq9mq perlでいうtr/a-zA-Z//c(a-zA-z以外にマッチして置き換える)
っていうのはPHPではどう書けば良いでしょうか?(´・ω・`)?モニュ
小一時間探したけど見つかりませんでした
っていうのはPHPではどう書けば良いでしょうか?(´・ω・`)?モニュ
小一時間探したけど見つかりませんでした
489nobodyさん
03/12/18 13:59ID:SDZbq9mq やりたいことは、リストに含まない文字が
検出されたらエラーを表示させる事です。
perlだと
if(($_ =~ tr/a-zA-Z0-9//c) {
die 'リストに含まれない文字が検出されたYO!';
}
な感じでそれをPHPでやりたいです。
検出されたらエラーを表示させる事です。
perlだと
if(($_ =~ tr/a-zA-Z0-9//c) {
die 'リストに含まれない文字が検出されたYO!';
}
な感じでそれをPHPでやりたいです。
490nobodyさん
03/12/18 15:25ID:??? 【PHP】質問スレッド Part12
http://pc2.2ch.net/test/read.cgi/php/1070639208/
http://pc2.2ch.net/test/read.cgi/php/1070639208/
491nobodyさん
03/12/18 16:46ID:??? >487
どうせろくでもないベンチスクリプトだろ
>488
既出
>789
!
どうせろくでもないベンチスクリプトだろ
>488
既出
>789
!
492nobodyさん
03/12/18 20:33ID:??? >>489
$str = ...
if (ereg("[^a-zA-Z0-9]", $str)){
die('リストに含まれない文字が検出されたYO!');
}
多分"[^[:alnum:]]"でも。
$str = ...
if (ereg("[^a-zA-Z0-9]", $str)){
die('リストに含まれない文字が検出されたYO!');
}
多分"[^[:alnum:]]"でも。
493nobodyさん
03/12/18 20:37ID:??? そういうことじゃないと思う。
494nobodyさん
03/12/21 18:56ID:16zntf/g >492
ぇ?ネタですか?(´・ω・`)?モニュ
-zA-Z0-9にマッチでエラー表示
じゃないでつ。文字列中に例えば
記号が入ってたらエラーにする処理でつ。
ぇ?ネタですか?(´・ω・`)?モニュ
-zA-Z0-9にマッチでエラー表示
じゃないでつ。文字列中に例えば
記号が入ってたらエラーにする処理でつ。
495nobodyさん
03/12/21 20:52ID:??? ネタ?
491のでええやん。elseでもいいし。
491のでええやん。elseでもいいし。
497nobodyさん
03/12/22 17:55ID:??? asdf
498nobodyさん
03/12/22 19:05ID:??? ghjk
499nobodyさん
03/12/23 11:09ID:hM9+gLxR >496
ぉぉやってみたら確かにマッチした。さんくすこ。
PHPだと’^’って反転する意味なのですか・・・?
なんか小さな幸せを発見したw
ぉぉやってみたら確かにマッチした。さんくすこ。
PHPだと’^’って反転する意味なのですか・・・?
なんか小さな幸せを発見したw
500nobodyさん
03/12/23 11:15ID:hM9+gLxRぁぁぼけてすまそ。。。
文字クラスの反転記号ですね。記憶から全く遠のいていますた。
(PHPの独自拡張なのかとさえ思ってしまったw)
もう一度勉強し直し逝ってきま _| ̄|○
501nobodyさん
04/01/19 18:13ID:??? >>481
で、どのへんまでできた?
なぜかおれも作るハメになってしまって、
BNFで定義しきれないPerlを無理やりBNFレベルで定義中なんだけど。
そこまでPerl詳しくねーんで困ってる。
parrotのライブラリにPerl6のパーサーやってるっぽいんだが、、むずい。
だれか、なんちゃってPerl BNF定義した人おらんですか。。
で、どのへんまでできた?
なぜかおれも作るハメになってしまって、
BNFで定義しきれないPerlを無理やりBNFレベルで定義中なんだけど。
そこまでPerl詳しくねーんで困ってる。
parrotのライブラリにPerl6のパーサーやってるっぽいんだが、、むずい。
だれか、なんちゃってPerl BNF定義した人おらんですか。。
502501
04/01/19 18:23ID:??? ガク
コンテンツか。。ツールじゃないのね。。シツレイ
コンテンツか。。ツールじゃないのね。。シツレイ
503nobodyさん
04/01/23 00:02ID:Zt/PsL2C 質問君です。すいません。
idはadmin、passは111111だったとして、
test.php?id=admin&pass=111111と入力します。
test.php内で
idとpassの値を受け取るには、$id=param[id]でしたっけ?
idはadmin、passは111111だったとして、
test.php?id=admin&pass=111111と入力します。
test.php内で
idとpassの値を受け取るには、$id=param[id]でしたっけ?
504nobodyさん
04/01/23 00:24ID:Zt/PsL2C extract($_GET);
$_GET["id"];
$_GET["pass"];
$_GET["id"];
$_GET["pass"];
506nobodyさん
04/01/23 01:03ID:Zt/PsL2C >>505
ここ読みました。
http://php.s3.to/off.txt
これも対策済まれている方が多いことですが、
Warning: REG_EBRACK in
eregi関数で文字比較するとき、全角の「ー」の2バイト目が半角では“[”になるのが原因らしい・・
簡単な解決方法ありますでしょうか?
ここ読みました。
http://php.s3.to/off.txt
これも対策済まれている方が多いことですが、
Warning: REG_EBRACK in
eregi関数で文字比較するとき、全角の「ー」の2バイト目が半角では“[”になるのが原因らしい・・
簡単な解決方法ありますでしょうか?
507俺様
04/01/23 01:17ID:??? >>501-502
いや、俺もツール考えてみたんだわ。
PHPなら文法定義しているの発見したんだけど
Perlは見つからないんだよね。。。
perly.yにあるyacc文法も読んだんだけど
文法以前に字句解析どうしようって感じで。
いや、俺もツール考えてみたんだわ。
PHPなら文法定義しているの発見したんだけど
Perlは見つからないんだよね。。。
perly.yにあるyacc文法も読んだんだけど
文法以前に字句解析どうしようって感じで。
508nobodyさん
04/01/23 02:04ID:??? >>506
extract() するなら、$_GETでアクセスする必要ないかと…
register_globals=off がデフォになったのは、
未初期化の変数が汚染されたりとか
セキュリティ面の問題が利便性より重要だったからではないのかなぁ
なので、extract()するならその配列の安全チェックをしてからのほうが良いかと。
extract() するなら、$_GETでアクセスする必要ないかと…
register_globals=off がデフォになったのは、
未初期化の変数が汚染されたりとか
セキュリティ面の問題が利便性より重要だったからではないのかなぁ
なので、extract()するならその配列の安全チェックをしてからのほうが良いかと。
509nobodyさん
04/01/23 02:08ID:??? >>506後半
内部エンコーディングをEUCかUnicodeにする。
入力変換をautoにする。
これで、内部では、EUCかUnicodeになるので、その手の問題に遭遇しない。
海外製ソフトでSJISはいいことがない。
内部エンコーディングをEUCかUnicodeにする。
入力変換をautoにする。
これで、内部では、EUCかUnicodeになるので、その手の問題に遭遇しない。
海外製ソフトでSJISはいいことがない。
510nobodyさん
04/01/23 02:13ID:??? 入力変換はHttpInputだけなので、ファイルを読むときなどはMb_かjcode.phpで
内部エンコードにそろえてやる必要があると思います。
内部エンコードにそろえてやる必要があると思います。
511nobodyさん
04/01/23 23:10ID:???list()でログファイル(5MB程度)を参照して検索などを作るとき、
fopen()
flock()
Fclose()
しなくてもログファイルの破損などは起こらないでしょうか?
書き込み中はロックしてますが、list()中はロックしないとします。
513アノニマス
04/02/16 18:58ID:O91ZKuNr 正規表現でマッチできないけど?
どこがおかしいの?
//10桁の1...と12桁の2...の配列がある。
$str = array('1111111111','222222222222');
//10桁以上、10桁以下の(要は10桁のみ)数値パターンを配列$resultに格納したい。
$hoge = preg_grep("/[0-9]{10,10}/",$result);
//結果、両方でてきちゃう。どうして?
print_r($result);
よろしこ。
どこがおかしいの?
//10桁の1...と12桁の2...の配列がある。
$str = array('1111111111','222222222222');
//10桁以上、10桁以下の(要は10桁のみ)数値パターンを配列$resultに格納したい。
$hoge = preg_grep("/[0-9]{10,10}/",$result);
//結果、両方でてきちゃう。どうして?
print_r($result);
よろしこ。
514イ奄様
04/02/16 19:15ID:PkrMZZ9m >>513
それだと
"hoge1234567890hage"とかにもマッチする。
数字で始まり10個目の数字で終わるなら
$result = preg_grep("/^[0-9]{10,10}$/",$str);
それだと
"hoge1234567890hage"とかにもマッチする。
数字で始まり10個目の数字で終わるなら
$result = preg_grep("/^[0-9]{10,10}$/",$str);
515イ奄様
04/02/16 19:18ID:??? $result = preg_grep("/^\d{10}$/",$str);
でもいい
でもいい
516アノニマス
04/02/16 19:35ID:O91ZKuNr >>514,515 イ奄様
有難うございます。なるほどよく分りました。
しかも、問題が間違えているにもかかわらずよく理解してくださいました。
重ねて御礼します。
出したかった問題は、こうでした。
$result = preg_grep("/[0-9]{10,10}/",$str);
まぁ、間違ってんだから訂正は要らないんだけどね・・・。
有難うございます。なるほどよく分りました。
しかも、問題が間違えているにもかかわらずよく理解してくださいました。
重ねて御礼します。
出したかった問題は、こうでした。
$result = preg_grep("/[0-9]{10,10}/",$str);
まぁ、間違ってんだから訂正は要らないんだけどね・・・。
517nobodyさん
04/02/16 21:57ID:??? それは perl でも同じ結果だろうなと。
perlとPHPで結果が違うのかと思ったよw
perlとPHPで結果が違うのかと思ったよw
518nobodyさん
04/03/05 15:09ID:??? 質問してもいいですか?
Perlの「undef」に相当するPHPの関数は何ですか?
マニュアル検索しても見つけられなかったのです。
スレ違いでしたらスルーでお願いします。
Perlの「undef」に相当するPHPの関数は何ですか?
マニュアル検索しても見つけられなかったのです。
スレ違いでしたらスルーでお願いします。
520nobodyさん
04/03/08 22:21ID:??? Perlだと文字列の置換をしたときに置換されたものが$1などの変数に代入されますよね。
PHPでも同じことは出来るのでしょうか?
PHPでも同じことは出来るのでしょうか?
522nobodyさん
04/04/06 09:54ID:Rt5G2mKK 自作関数に渡した引数は、Perlでは$_[0],$_[1]...に、
JavaScriptではarguments[0]...に、入るじゃないですか。
PHPでは何に入るのでしょうか?
もしかして必ず function x($a,$b,$c) の様にする必要があるのでしょうか?
何とかして引数を配列として扱いたいのです。
JavaScriptではarguments[0]...に、入るじゃないですか。
PHPでは何に入るのでしょうか?
もしかして必ず function x($a,$b,$c) の様にする必要があるのでしょうか?
何とかして引数を配列として扱いたいのです。
525nobodyさん
04/04/06 14:59ID:??? (^∀^)ゲラゲラ
526nobodyさん
04/04/18 21:32ID:??? (^∀^)ゲラゲラ
527nobodyさん
04/04/19 04:39ID:??? (^∀^)ゲラゲラ
528nobodyさん
04/04/19 13:09ID:??? (^∀^)ゲラゲラ
530カポコン
04/04/21 13:43ID:???532nobodyさん
04/04/21 21:28ID:??? >>530
Shift_JISでスクリプトを書いてはいけない理由、
どうしてもShift_JISで書きたい場合はどのPHPをインストールすべきとか
mb_string周りのPHP.iniの設定の仕方、設定のオーバーライドの方法を解説して欲しい。
あと、PerlにもHTML埋め込みを行う方法がいくつかあるよ。
Shift_JISでスクリプトを書いてはいけない理由、
どうしてもShift_JISで書きたい場合はどのPHPをインストールすべきとか
mb_string周りのPHP.iniの設定の仕方、設定のオーバーライドの方法を解説して欲しい。
あと、PerlにもHTML埋め込みを行う方法がいくつかあるよ。
534カポコン
04/04/26 10:25ID:???535532
04/04/27 05:54ID:??? マジレスした自分に鬱。
536nobodyさん
04/04/30 23:59ID:um4DKqqr perlにおいて、csvファイルを配列に取り込み、複数項目(カンマ区切りの2列目と3列目)でソートをかける為に
下記のような方法を取っていたのですが、
これをphpで行う場合、multisortでは1項目でのソートしか出来ないと
マニュアルに記述されていますが、どのような処理でなら可能でしょうか?
@DATA = sort { (split(/,/,$b))[1] <=> (split(/,/,$a))[1] || (split(/,/,$a))[2] <=> (split(/,/,$b))[2]; } @DATA;
下記のような方法を取っていたのですが、
これをphpで行う場合、multisortでは1項目でのソートしか出来ないと
マニュアルに記述されていますが、どのような処理でなら可能でしょうか?
@DATA = sort { (split(/,/,$b))[1] <=> (split(/,/,$a))[1] || (split(/,/,$a))[2] <=> (split(/,/,$b))[2]; } @DATA;
537nobodyさん
04/05/01 06:06ID:???538nobodyさん
04/05/01 07:23ID:???539nobodyさん
04/05/03 01:13ID:N715jxDT ASPユーザですが、PHPへの移行への許可は頂けますか?
540nobodyさん
04/05/08 15:25ID:??? perlとPHPのどっちが偉いかとかいった下らない話題につき合うつもりはないが
http://f13.aaacafe.ne.jp/~mugen/perlvsphp/page7.htm
↑を MVC と呼ばれては碇浸透
コンテンツとデザインの分離スレにちょっと鯉 >>350
http://f13.aaacafe.ne.jp/~mugen/perlvsphp/page7.htm
↑を MVC と呼ばれては碇浸透
コンテンツとデザインの分離スレにちょっと鯉 >>350
542nobodyさん
04/05/20 12:08ID:NShBOzWM PHP普及の原因は、イスラエル・Zend社のマーケティングの成功にある。
@Perlでは別インストールで多くの人が知らないデーターベース利用を標準で使用できるようにし、「データーベースが簡単に取り扱える」というイメージを特に強く植えつけた。
Aウェブサイト作成への特化。例えば、セッション管理がそうだ。
Bソースの隠蔽による著作権保護を可能にした。
データーベースを使いたいが、使い方がわからない。そこに、PHPなら使えるという情報が先に入る。これで、PHPに入った人もかなり多いはず。
PHPの言語仕様はZendに大きく左右される。
二年ほど前、PHPが出始めた頃には、変数のスコープがPerlとまったく同じ仕様だった。
もともと、Perlのソースコードを改編して作成されたPHP。
↓PHPの歴史
http://php.planetmirror.com/manual/ja/history.php
PHPには、Perlコードの退行による高速化の意図が言語のいたるところに見える。
マイクロソフトは、オブジェクト指向への対応というのが大義にVB6.0からVB.NETに言語仕様を大幅に変えた。
今後も大きく言語仕様が変わることはないのか?
オープンソースとは言っても、Zend社の
http://www.zend.com/management.php
の数人のスタップによって大きく左右される。
再帰的定義とされる「PHP:Hypertext Preprocessor」という名前にも理由がある。これは、要するに、正確には、「Perl Hypertext Preprocessor」としたいところだが、GNUの「GNU is Not UNIX」という再帰的な定義をもじったものだ。
要するに、「GPLのフリーソフトのライセンスには違反していませんよ!」と一つには主張し、また、一つには、「PHP is Not Perl」とでも言って、Zendの社としての姿勢を、先人の「Perl開発者たち」から擁護する意図があったのだろう。
Nではなく、Hなのが、そのための味噌だ!Perl開発者たちは、当然、面白くないはずだ。
PHP信奉者は、六芒星(hexagram)マークのユダヤ教にでも、入信せよ!
…といいつつ、かく言う私も、PHPに乗り遅れまいと必死だが…。(^^;)
@Perlでは別インストールで多くの人が知らないデーターベース利用を標準で使用できるようにし、「データーベースが簡単に取り扱える」というイメージを特に強く植えつけた。
Aウェブサイト作成への特化。例えば、セッション管理がそうだ。
Bソースの隠蔽による著作権保護を可能にした。
データーベースを使いたいが、使い方がわからない。そこに、PHPなら使えるという情報が先に入る。これで、PHPに入った人もかなり多いはず。
PHPの言語仕様はZendに大きく左右される。
二年ほど前、PHPが出始めた頃には、変数のスコープがPerlとまったく同じ仕様だった。
もともと、Perlのソースコードを改編して作成されたPHP。
↓PHPの歴史
http://php.planetmirror.com/manual/ja/history.php
PHPには、Perlコードの退行による高速化の意図が言語のいたるところに見える。
マイクロソフトは、オブジェクト指向への対応というのが大義にVB6.0からVB.NETに言語仕様を大幅に変えた。
今後も大きく言語仕様が変わることはないのか?
オープンソースとは言っても、Zend社の
http://www.zend.com/management.php
の数人のスタップによって大きく左右される。
再帰的定義とされる「PHP:Hypertext Preprocessor」という名前にも理由がある。これは、要するに、正確には、「Perl Hypertext Preprocessor」としたいところだが、GNUの「GNU is Not UNIX」という再帰的な定義をもじったものだ。
要するに、「GPLのフリーソフトのライセンスには違反していませんよ!」と一つには主張し、また、一つには、「PHP is Not Perl」とでも言って、Zendの社としての姿勢を、先人の「Perl開発者たち」から擁護する意図があったのだろう。
Nではなく、Hなのが、そのための味噌だ!Perl開発者たちは、当然、面白くないはずだ。
PHP信奉者は、六芒星(hexagram)マークのユダヤ教にでも、入信せよ!
…といいつつ、かく言う私も、PHPに乗り遅れまいと必死だが…。(^^;)
543nobodyさん
04/05/20 16:11ID:??? ↑もう5回くらい見たんだが。しかも全部IDが同じだ・・・見間違いだよな?
544nobodyさん
04/12/07 16:29:25ID:??? 最近やっとphpの配列は、perlの配列のリファレンスだと考えればいいんだとわかった。
んで、phpで関数に配列を引渡すときは、配列のコピーのリファレンスを渡していると考えればいいとわかった。
だから、phpのこれは
$array[$index] = $value;
perlのこれに対応するわけじゃなく
$array[$index] = $value;
これに対応しているわけで
$array->[$index] = $value;
phpのこれは
$array = array($val1,$val2,$val3);
perlのこれに対応している
$array = [$val1,$val2,$val3];
なのでphpのこれは
function f($array){
.......
}
perlのこれに対応するわけだったんだね。
sub f{
my $array = [@{$_[0]}];
.......
}
んで、phpで関数に配列を引渡すときは、配列のコピーのリファレンスを渡していると考えればいいとわかった。
だから、phpのこれは
$array[$index] = $value;
perlのこれに対応するわけじゃなく
$array[$index] = $value;
これに対応しているわけで
$array->[$index] = $value;
phpのこれは
$array = array($val1,$val2,$val3);
perlのこれに対応している
$array = [$val1,$val2,$val3];
なのでphpのこれは
function f($array){
.......
}
perlのこれに対応するわけだったんだね。
sub f{
my $array = [@{$_[0]}];
.......
}
545nobodyさん
05/03/03 01:29:07ID:eDjoFwC+ Perlのlast関数にあたるものはPHPのbreak関数かと思いますが、
next関数にあたるものは何になるのでしょうか?
ご教示いただけますと幸いです。
next関数にあたるものは何になるのでしょうか?
ご教示いただけますと幸いです。
548nobodyさん
05/03/03 14:56:14ID:??? >>544
おれがPHP使い始めたころと同じこと考えとるな
きっと次は$がいらないんじゃないかとか
printした時に自動で配列表示して欲しいとか
正規表現や無名関数使いずれーとか
便利な関数がイパーイあってええねとか
クラスがPerlよりはおしゃれだとか
↓
おれがPHP使い始めたころと同じこと考えとるな
きっと次は$がいらないんじゃないかとか
printした時に自動で配列表示して欲しいとか
正規表現や無名関数使いずれーとか
便利な関数がイパーイあってええねとか
クラスがPerlよりはおしゃれだとか
↓
549nobodyさん
05/03/08 04:57:03ID:??? 日本語を変数名に使えるようにすんなよとか
リファレンス変数とか可変変数で戸惑うとか
多重継承できないってなんだよとか
DBはいいなとか
↓
リファレンス変数とか可変変数で戸惑うとか
多重継承できないってなんだよとか
DBはいいなとか
↓
550nobodyさん
05/03/08 07:20:38ID:??? 0.0.1のバージョンアップでコアに新機能を加えたあげくにエンバグって何よとか
デフォルトでハッシュな配列はステキですねとか
array_map_recursive()きぼんとか
↓
デフォルトでハッシュな配列はステキですねとか
array_map_recursive()きぼんとか
↓
551nobodyさん
2005/11/06(日) 12:54:25ID:szZvbyxN perl使いがPHP使いに成ってもスキル低いのには変わらないけどな。
PHP覚える時間と暇があれば、JavaとかCが使えるようにスキル磨け。
PHP覚える時間と暇があれば、JavaとかCが使えるようにスキル磨け。
552nobodyさん
2005/11/07(月) 01:20:42ID:??? 意味不明
553nobodyさん
2006/01/20(金) 19:20:58ID:??? Cはもう、使う職場が限られている気がするが
554nobodyさん
2006/03/13(月) 04:51:31ID:??? 保守
555nobodyさん
2006/03/31(金) 03:55:29ID:??? 保守
556nobodyさん
2006/04/27(木) 19:27:28ID:??? 保守
557nobodyさん
2006/04/28(金) 03:16:17ID:??? スレの内容を勝手にまとめてみたのでうpするよ
俺様タンのレスぶっこ抜いただけなので
だめなようならすぐ消します。
txtだけどhtmlにリネームしてくだせ。
http://bebe.run.buttobi.net/up/src/be_1673.txt.html
俺様タンのレスぶっこ抜いただけなので
だめなようならすぐ消します。
txtだけどhtmlにリネームしてくだせ。
http://bebe.run.buttobi.net/up/src/be_1673.txt.html
558557
2006/04/28(金) 03:19:25ID:??? HEAD内のひとつめのSTYLEタグは不要なので消しておk
559nobodyさん
2006/05/15(月) 05:54:56ID:KM0klNRe >>557
乙。もらいます
乙。もらいます
560nobodyさん
2006/09/20(水) 11:53:55ID:uaOOSUkQ Perlのqqみたいなの、PHPでできんか?
561560
2006/09/20(水) 12:00:23ID:uaOOSUkQ できんか・・rubyでも同様の文法はあるんだけどなぁ・・。
ヒアドキュメントは、インデントが崩れるので大袈裟でちょっと扱いにくい。
ヒアドキュメントは、インデントが崩れるので大袈裟でちょっと扱いにくい。
562nobodyさん
2006/09/24(日) 06:15:19ID:??? ヒアドキュメントは当然ながら、qqも必要ないもん。
563nobodyさん
2007/05/04(金) 02:57:45ID:SmDWSadW 保守
564nobodyさん
2007/05/07(月) 03:01:24ID:??? このスレの意思とは逆なんですが、
php経験があり、perl未経験です、
perlスクリプトを眺めているのですが、どうもわからない構文が多々あります。
サブルーチン if ($hoge && $> == 0);
↑これってどういう意味を表しているのでしょうか?
ifの前にサブルーチンが存在するのと、
$hoge && $> == 0 の意味がわからんです。
php経験があり、perl未経験です、
perlスクリプトを眺めているのですが、どうもわからない構文が多々あります。
サブルーチン if ($hoge && $> == 0);
↑これってどういう意味を表しているのでしょうか?
ifの前にサブルーチンが存在するのと、
$hoge && $> == 0 の意味がわからんです。
565nobodyさん
2007/05/08(火) 00:36:50ID:??? $>はuid
$hogeが真かつrootで実行されている時だと思う
> ifの前にサブルーチンが存在するのと、
Perlの基本的な変体文法なので入門書読め
$hogeが真かつrootで実行されている時だと思う
> ifの前にサブルーチンが存在するのと、
Perlの基本的な変体文法なので入門書読め
566nobodyさん
2007/05/09(水) 21:29:36ID:+HRKvy3U perlでハッシュの値を出力すると何故か「1/8」になってしまうんですがこれはどうすれば直せますか?
567nobodyさん
2007/09/17(月) 05:29:18ID:j/liUul9 亀だが
>566
$foo=%hoge;
print $foo;
ってなってんじゃね
鯨のハラワタが散らかってるとか言われる部分だから気にするな
perl嫌になてきた
だからといってphpも嫌だぜ
Lispでもはじめようぜ
>566
$foo=%hoge;
print $foo;
ってなってんじゃね
鯨のハラワタが散らかってるとか言われる部分だから気にするな
perl嫌になてきた
だからといってphpも嫌だぜ
Lispでもはじめようぜ
568nobodyさん
2007/09/17(月) 14:53:34ID:??? 早くもPHPユーザのためのPerl入門スレになりつつあるな
569nobodyさん
2007/09/17(月) 19:28:13ID:??? アリガd
570nobodyさん
2007/09/18(火) 21:48:20ID:??? 基礎PHPという教本を読みながら問題を解こうとしているんですが、まったく理解できなくて
悩んでいます。
何方か指南していただけないでしょうか?
問題の内容は以下に、
内容
フォームからPOSTのメソッドを利用して「ユーザー名」と「パスワード」を送信する。
受信したファイルでは「ユーザー名」と「パスワード」の妥当性を判断してメッセージを出力する。
条件
データ送信用ファイル:input.html
データ受信用ファイル:check.php
input.htmlには2種類のテキストボックスを配置させる(txtNameとtxtPassword)
check.phpでは以下の4種類のメッセージを出力させること
ユーザー名とパスワードの組み合わせが正しい場合「認証成功!」
ユーザー名が存在しない場合「ユーザー名が存在しません」
ユーザーは存在するがパスワードが誤っている場合「パスワードが間違っています」
ユーザー名またはパスワードのいずれかが空白の場合「ユーザー名またはパスワードが未入力です」
check.phpにおけるユーザー名とパスワードの組み合わせは以下のとおりとする。(3ユーザー分)
ユーザー名:guest admin shs0000
パスワード:goma adm 0000
スクリプト内での以下の配列に格納し、プログラムによって判断を行うこと。
ユーザー名:$arrUser $arrUser = array(・・・・);
パスワード:$arrPass $arrPass = array(・・・・);
ヒントでfor,if文を使うとあります。
どうかお願いします。
悩んでいます。
何方か指南していただけないでしょうか?
問題の内容は以下に、
内容
フォームからPOSTのメソッドを利用して「ユーザー名」と「パスワード」を送信する。
受信したファイルでは「ユーザー名」と「パスワード」の妥当性を判断してメッセージを出力する。
条件
データ送信用ファイル:input.html
データ受信用ファイル:check.php
input.htmlには2種類のテキストボックスを配置させる(txtNameとtxtPassword)
check.phpでは以下の4種類のメッセージを出力させること
ユーザー名とパスワードの組み合わせが正しい場合「認証成功!」
ユーザー名が存在しない場合「ユーザー名が存在しません」
ユーザーは存在するがパスワードが誤っている場合「パスワードが間違っています」
ユーザー名またはパスワードのいずれかが空白の場合「ユーザー名またはパスワードが未入力です」
check.phpにおけるユーザー名とパスワードの組み合わせは以下のとおりとする。(3ユーザー分)
ユーザー名:guest admin shs0000
パスワード:goma adm 0000
スクリプト内での以下の配列に格納し、プログラムによって判断を行うこと。
ユーザー名:$arrUser $arrUser = array(・・・・);
パスワード:$arrPass $arrPass = array(・・・・);
ヒントでfor,if文を使うとあります。
どうかお願いします。
571nobodyさん
2007/10/04(木) 11:12:02ID:Ba37oSfY ここに神がいることを祈ります。
これ
↓
$a1="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ./";
$a2=substr($a1,int(rand(64)),1).substr($a1,int(rand(64)),1);
$cryptpass = crypt($pass,$a2);
をPHPで同じことさせるにはどうしたらいいのでしょうか・・・
これ
↓
$a1="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ./";
$a2=substr($a1,int(rand(64)),1).substr($a1,int(rand(64)),1);
$cryptpass = crypt($pass,$a2);
をPHPで同じことさせるにはどうしたらいいのでしょうか・・・
572nobodyさん
2007/10/04(木) 11:18:40ID:??? int(rand(64)) => rand(0, 63)
これだけ代えればいけるんじゃね?
これだけ代えればいけるんじゃね?
573nobodyさん
2007/10/04(木) 14:18:23ID:Ba37oSfY575nobodyさん
2007/10/20(土) 02:19:47ID:??? 漠然とした質問で申し訳ないが
単なるテキストファイルをincludeするだけだったら
SSIとPHPとどっちがサーバ負荷が少ないかな?
単なるテキストファイルをincludeするだけだったら
SSIとPHPとどっちがサーバ負荷が少ないかな?
576nobodyさん
2007/10/20(土) 02:42:16ID:??? 基本同じくらい
ただ、組み込むモジュールmod_includeとmod_phpではmod_phpの方が断然メモリ食う
ただ、組み込むモジュールmod_includeとmod_phpではmod_phpの方が断然メモリ食う
577nobodyさん
2007/10/23(火) 00:14:10ID:??? >>576
遅くなったがありがトン
すでに構築されてるサイトを引き受ける事になったんだけど
SSIだらけだったんでちょっと気になってね
PHPの方が利便性良さそうなんで移行しようかと思ったけど静観かな
遅くなったがありがトン
すでに構築されてるサイトを引き受ける事になったんだけど
SSIだらけだったんでちょっと気になってね
PHPの方が利便性良さそうなんで移行しようかと思ったけど静観かな
578nobodyさん
2008/05/25(日) 10:56:38ID:??? &ReadParse;
while (($key,$val) = each %in) {
って言う良く見るPerlをphpで書き直すと?
extractだとPOSTとGET両方は拾えないみたいですし。
キーごとに処理を分けるのは、phpではどうしたら?
教えて下さい神様。
while (($key,$val) = each %in) {
って言う良く見るPerlをphpで書き直すと?
extractだとPOSTとGET両方は拾えないみたいですし。
キーごとに処理を分けるのは、phpではどうしたら?
教えて下さい神様。
579nobodyさん
2008/05/27(火) 23:52:32ID:??? if(isset($_POST)) {
while(list($key, $val) = each($_POST)) {
//POST変数が存在する数だけループ $key $valで所得->処理
}
}
if(isset($_GET)) {
while(list($key, $val) = each($_GET)) {
//GET変数が存在する数だけループ $key $valで所得->処理
}
}
かな?後、
import_request_variables("GPC","{re_ とか何か接頭辞}");
を使うとGET,POST,COOKIEを一度に変数へ展開できる。
Perlの方が良く解らないので見当はずれだったらごめん。
while(list($key, $val) = each($_POST)) {
//POST変数が存在する数だけループ $key $valで所得->処理
}
}
if(isset($_GET)) {
while(list($key, $val) = each($_GET)) {
//GET変数が存在する数だけループ $key $valで所得->処理
}
}
かな?後、
import_request_variables("GPC","{re_ とか何か接頭辞}");
を使うとGET,POST,COOKIEを一度に変数へ展開できる。
Perlの方が良く解らないので見当はずれだったらごめん。
580nobodyさん
2008/05/28(水) 23:19:19ID:??? ありがとうございます。
上述の方法でやってみます。
助かりました!
上述の方法でやってみます。
助かりました!
581nobodyさん
2008/06/04(水) 07:29:17ID:???582nobodyさん
2008/06/05(木) 21:39:46ID:???583nobodyさん
2008/06/06(金) 10:39:11ID:??? いや、ループの前に$_POSTでも$_GETでも1つにしちまえば
ループ自体が1つに出来るっていう話
ループ自体が1つに出来るっていう話
584nobodyさん
2008/06/06(金) 11:40:29ID:??? つ $_REQUEST
586nobodyさん
2008/06/16(月) 20:24:30ID:??? DMYHMS形式をエポック秒に変換したいんだすが、
Perlのtimelocal()的なものがphpでありますでしょうか?
Perlのtimelocal()的なものがphpでありますでしょうか?
587nobodyさん
2008/06/16(月) 21:19:36ID:??? お前は風大左衛門かw
こんな感じでどうだす?
mktime(HH,MM,SS,mm,dd,yyyy);
こんな感じでどうだす?
mktime(HH,MM,SS,mm,dd,yyyy);
589nobodyさん
2008/06/17(火) 09:51:41ID:??? 文字列の小数点以下を削除しようと思って、("3.1415"→"3")
$PI = ereg_replace("\.\d*", "", $PI);
とすると、31415になってしまいました。perlの
s/\.\d*//;
だとうまくいくのですが、何かPHPでの注意点ありんすか?
$PI = ereg_replace("\.\d*", "", $PI);
とすると、31415になってしまいました。perlの
s/\.\d*//;
だとうまくいくのですが、何かPHPでの注意点ありんすか?
590nobodyさん
2008/06/17(火) 23:01:21ID:??? perlちとPHPとで、正規表現がちがうでよ。
$PI = ereg_replace("\.[0-9]*", "", $PI);
$PI = preg_replace("/\.\d*/", "", $PI);
こんなんどうだべ?
$PI = ereg_replace("\.[0-9]*", "", $PI);
$PI = preg_replace("/\.\d*/", "", $PI);
こんなんどうだべ?
592nobodyさん
2010/06/19(土) 14:31:36ID:??? PHPのエラー処理は、以下の三つくらいがあげられますが、
どれを使うのが一番なのでしょうか?
・tryとcatch
・set_error_handler
・PEAR_Error
自分は、try catchが一番いいと思いつかっています。
どれを使うのが一番なのでしょうか?
・tryとcatch
・set_error_handler
・PEAR_Error
自分は、try catchが一番いいと思いつかっています。
594nobodyさん
2015/01/25(日) 20:46:07.91ID:??? 同じだから移行して何の意味があるのかわからん
595東京女子医科大学病院プロポフォール大量投与
2015/05/24(日) 21:12:24.33ID:bUoj/9l7596東京女子医科大学病院プロポフォール大量投与
2015/05/24(日) 21:12:24.77ID:bUoj/9l7597nobodyさん
2015/07/24(金) 22:11:58.78ID:Ba8qs0sO ぜんしろうは、せんずろうと言われるが、この歳になればみんなせんずろうだ。
598nobodyさん
2017/12/30(土) 13:02:48.84ID:YhlYw6jg 誰でも簡単にネットで稼げる方法など
参考までに、
⇒ 『半藤のブブイウイウレレ』 というサイトで見ることができます。
グーグル検索⇒『半藤のブブイウイウレレ』
UT147M7AKH
参考までに、
⇒ 『半藤のブブイウイウレレ』 というサイトで見ることができます。
グーグル検索⇒『半藤のブブイウイウレレ』
UT147M7AKH
599nobodyさん
2018/02/20(火) 04:52:23.92ID:??? ☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
600nobodyさん
2018/06/20(水) 23:01:27.83ID:UnZq46Ab プログラミングを誰でも習得できる方法は、「前場アキドルのプログラミングマスター方法」というブログで見られるらしいよ。ネットで調べると見られるらしいです。
J4K21
J4K21
601nobodyさん
2023/03/09(木) 22:40:19.07ID:??? オラオラ (  ̄Д ̄)y-*);゚皿゚)ノ アチチチッ!!!
レスを投稿する
ニュース
- 【W杯】韓国が大窮地 悪夢のシナリオ止まらず 決勝T進出順位ボーダーの8位に転落 セネガル、イランに抜かれる ★3 [尺アジ★]
- イラン、米軍基地を攻撃 [お断り★]
- 【サッカー】W杯の「日本VSブラジル」を他で例えると…Xで問いかけ話題「湘北vs山王」「明徳義塾vs大阪桐蔭」「ドトウvsオペラオー」★2 [o(^・-・^)o★]
- 【サッカー】「昔のネイマールでしょ」サッカー日本代表・塩貝健人がブラジル戦へ痛快発言…「王国」の印象を問われ [ゴアマガラ★]
- 【サッカー】「世紀の談合マッチになる予感」J組の一戦が話題…ドローで両チーム決勝T進出の“異例事態” [ゴアマガラ★]
- 【EV】 BYDの「快進撃」はインチキだった… 隠れ負債7兆円超 サプライヤーへの代金支払いを先延ばし ★2 [お断り★]
- 【実況】博衣こよりのえちえちパワプロWBC編🧪
- 経産省、アニメ会社MAPPAやゲーム会社DeNAに15億円の補助金。赤松健「ヒットした作品に後からお金をあげる政策が必要」 [485187932]
- 【高市解散】小野田担当大臣 記者だけでなく「司会者」にもキれ顔を見せていた X上ではバッシングの嵐に [169920436]
- お前ら「ラーメン二郎は汚い!食べない!」←これ
- ワイ雄、義理のおばあさんとセックスがしたい
- 【悲報】高市に逆らったカルビー、消費者の購入意向激減。湖池屋を下回る… [342017262]