【待望】PerlユーザのためのPHP入門
■ このスレッドは過去ログ倉庫に格納されています
0001俺様
03/02/27 15:17ID:tJsRCtRD両者の違いを中心に講義してやる。
今までPerlマンセーだったやつはこれを機にPHPに変更しよう也。
質問もガンガン書いてくれ。
このPerlの文はPHPだとどう書くの?とか。
0514イ奄様
04/02/16 19:15ID:PkrMZZ9mそれだと
"hoge1234567890hage"とかにもマッチする。
数字で始まり10個目の数字で終わるなら
$result = preg_grep("/^[0-9]{10,10}$/",$str);
0515イ奄様
04/02/16 19:18ID:???でもいい
0516アノニマス
04/02/16 19:35ID:O91ZKuNr有難うございます。なるほどよく分りました。
しかも、問題が間違えているにもかかわらずよく理解してくださいました。
重ねて御礼します。
出したかった問題は、こうでした。
$result = preg_grep("/[0-9]{10,10}/",$str);
まぁ、間違ってんだから訂正は要らないんだけどね・・・。
0517nobodyさん
04/02/16 21:57ID:???perlとPHPで結果が違うのかと思ったよw
0518nobodyさん
04/03/05 15:09ID:???Perlの「undef」に相当するPHPの関数は何ですか?
マニュアル検索しても見つけられなかったのです。
スレ違いでしたらスルーでお願いします。
0520nobodyさん
04/03/08 22:21ID:???PHPでも同じことは出来るのでしょうか?
0522nobodyさん
04/04/06 09:54ID:Rt5G2mKKJavaScriptではarguments[0]...に、入るじゃないですか。
PHPでは何に入るのでしょうか?
もしかして必ず function x($a,$b,$c) の様にする必要があるのでしょうか?
何とかして引数を配列として扱いたいのです。
0523nobody
04/04/06 11:33ID:???function ほらよ ($配列) { print_r($配列); }
ほらよ(array('a', 'b', 'c'));
0525nobodyさん
04/04/06 14:59ID:???0526nobodyさん
04/04/18 21:32ID:???0527nobodyさん
04/04/19 04:39ID:???0528nobodyさん
04/04/19 13:09ID:???0530カポコン
04/04/21 13:43ID:???よろしこ。
0532nobodyさん
04/04/21 21:28ID:???Shift_JISでスクリプトを書いてはいけない理由、
どうしてもShift_JISで書きたい場合はどのPHPをインストールすべきとか
mb_string周りのPHP.iniの設定の仕方、設定のオーバーライドの方法を解説して欲しい。
あと、PerlにもHTML埋め込みを行う方法がいくつかあるよ。
0534カポコン
04/04/26 10:25ID:???その真珠のヴァージョンは何ですか?
requireを使用するとか笑わせる答えじゃないですよね?
>>533
>しかし、CやJavaなどと比べPerlの方が極力型を意識しない言語仕様
>になっているというのは認めざる終えません。
あーそんな風に書いてたんだね。そのうち、なんとか汁。
# 真珠批判やってるサイトって他にもあるもんだねー。
0535532
04/04/27 05:54ID:???0536nobodyさん
04/04/30 23:59ID:um4DKqqr下記のような方法を取っていたのですが、
これをphpで行う場合、multisortでは1項目でのソートしか出来ないと
マニュアルに記述されていますが、どのような処理でなら可能でしょうか?
@DATA = sort { (split(/,/,$b))[1] <=> (split(/,/,$a))[1] || (split(/,/,$a))[2] <=> (split(/,/,$b))[2]; } @DATA;
0537nobodyさん
04/05/01 06:06ID:???http://jp.php.net/manual/ja/function.usort.php
0538nobodyさん
04/05/01 07:23ID:???あまり真面目に見ていないけど、もっと説得力ある文章になるくらい
たくさんプログラムを作ってみた方が良いんじゃないかな。
今の状態だと言語の違い以前に本当にプログラムを作った事が
あるんだろうかと疑いたくなるよ。
>>535
気にすんな
0539nobodyさん
04/05/03 01:13ID:N715jxDT0540nobodyさん
04/05/08 15:25ID:???http://f13.aaacafe.ne.jp/~mugen/perlvsphp/page7.htm
↑を MVC と呼ばれては碇浸透
コンテンツとデザインの分離スレにちょっと鯉 >>350
0542nobodyさん
04/05/20 12:08ID:NShBOzWM�@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に乗り遅れまいと必死だが…。(^^;)
0543nobodyさん
04/05/20 16:11ID:???0544nobodyさん
04/12/07 16:29:25ID:???んで、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]}];
.......
}
0545nobodyさん
05/03/03 01:29:07ID:eDjoFwC+next関数にあたるものは何になるのでしょうか?
ご教示いただけますと幸いです。
0548nobodyさん
05/03/03 14:56:14ID:???おれがPHP使い始めたころと同じこと考えとるな
きっと次は$がいらないんじゃないかとか
printした時に自動で配列表示して欲しいとか
正規表現や無名関数使いずれーとか
便利な関数がイパーイあってええねとか
クラスがPerlよりはおしゃれだとか
↓
0549nobodyさん
05/03/08 04:57:03ID:???リファレンス変数とか可変変数で戸惑うとか
多重継承できないってなんだよとか
DBはいいなとか
↓
0550nobodyさん
05/03/08 07:20:38ID:???デフォルトでハッシュな配列はステキですねとか
array_map_recursive()きぼんとか
↓
0551nobodyさん
2005/11/06(日) 12:54:25ID:szZvbyxNPHP覚える時間と暇があれば、JavaとかCが使えるようにスキル磨け。
0552nobodyさん
2005/11/07(月) 01:20:42ID:???0553nobodyさん
2006/01/20(金) 19:20:58ID:???0554nobodyさん
2006/03/13(月) 04:51:31ID:???0555nobodyさん
2006/03/31(金) 03:55:29ID:???0556nobodyさん
2006/04/27(木) 19:27:28ID:???0557nobodyさん
2006/04/28(金) 03:16:17ID:???俺様タンのレスぶっこ抜いただけなので
だめなようならすぐ消します。
txtだけどhtmlにリネームしてくだせ。
http://bebe.run.buttobi.net/up/src/be_1673.txt.html
0558557
2006/04/28(金) 03:19:25ID:???0559nobodyさん
2006/05/15(月) 05:54:56ID:KM0klNRe乙。もらいます
0560nobodyさん
2006/09/20(水) 11:53:55ID:uaOOSUkQ0561560
2006/09/20(水) 12:00:23ID:uaOOSUkQヒアドキュメントは、インデントが崩れるので大袈裟でちょっと扱いにくい。
0562nobodyさん
2006/09/24(日) 06:15:19ID:???0563nobodyさん
2007/05/04(金) 02:57:45ID:SmDWSadW0564nobodyさん
2007/05/07(月) 03:01:24ID:???php経験があり、perl未経験です、
perlスクリプトを眺めているのですが、どうもわからない構文が多々あります。
サブルーチン if ($hoge && $> == 0);
↑これってどういう意味を表しているのでしょうか?
ifの前にサブルーチンが存在するのと、
$hoge && $> == 0 の意味がわからんです。
0565nobodyさん
2007/05/08(火) 00:36:50ID:???$hogeが真かつrootで実行されている時だと思う
> ifの前にサブルーチンが存在するのと、
Perlの基本的な変体文法なので入門書読め
0566nobodyさん
2007/05/09(水) 21:29:36ID:+HRKvy3U0567nobodyさん
2007/09/17(月) 05:29:18ID:j/liUul9>566
$foo=%hoge;
print $foo;
ってなってんじゃね
鯨のハラワタが散らかってるとか言われる部分だから気にするな
perl嫌になてきた
だからといってphpも嫌だぜ
Lispでもはじめようぜ
0568nobodyさん
2007/09/17(月) 14:53:34ID:???0569nobodyさん
2007/09/17(月) 19:28:13ID:???0570nobodyさん
2007/09/18(火) 21:48:20ID:???悩んでいます。
何方か指南していただけないでしょうか?
問題の内容は以下に、
内容
フォームから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文を使うとあります。
どうかお願いします。
0571nobodyさん
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で同じことさせるにはどうしたらいいのでしょうか・・・
0572nobodyさん
2007/10/04(木) 11:18:40ID:???これだけ代えればいけるんじゃね?
0573nobodyさん
2007/10/04(木) 14:18:23ID:Ba37oSfYあなたは神だ。
ありがとうございました^^
本当助かりました。
0575nobodyさん
2007/10/20(土) 02:19:47ID:???単なるテキストファイルをincludeするだけだったら
SSIとPHPとどっちがサーバ負荷が少ないかな?
0576nobodyさん
2007/10/20(土) 02:42:16ID:???ただ、組み込むモジュールmod_includeとmod_phpではmod_phpの方が断然メモリ食う
0577nobodyさん
2007/10/23(火) 00:14:10ID:???遅くなったがありがトン
すでに構築されてるサイトを引き受ける事になったんだけど
SSIだらけだったんでちょっと気になってね
PHPの方が利便性良さそうなんで移行しようかと思ったけど静観かな
0578nobodyさん
2008/05/25(日) 10:56:38ID:???while (($key,$val) = each %in) {
って言う良く見るPerlをphpで書き直すと?
extractだとPOSTとGET両方は拾えないみたいですし。
キーごとに処理を分けるのは、phpではどうしたら?
教えて下さい神様。
0579nobodyさん
2008/05/27(火) 23:52:32ID:???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の方が良く解らないので見当はずれだったらごめん。
0580nobodyさん
2008/05/28(水) 23:19:19ID:???上述の方法でやってみます。
助かりました!
0581nobodyさん
2008/06/04(水) 07:29:17ID:???すでに%inに入ってる訳だがその辺は良いのか?
>>579
俺はPHPはイマイチなんだが、$_POSTか$_GETを判別して別のハッシュに入れ
そのハッシュをeachした方が良くね?
0582nobodyさん
2008/06/05(木) 21:39:46ID:???Perlでいうハッシュ=連想配列:$QUERY{$key} = $valで、
$_POSTや$_GETは既に判別された後のハッシュと同じと解釈してますが、
実際どうなんだろう?
0583nobodyさん
2008/06/06(金) 10:39:11ID:???ループ自体が1つに出来るっていう話
0584nobodyさん
2008/06/06(金) 11:40:29ID:???0586nobodyさん
2008/06/16(月) 20:24:30ID:???Perlのtimelocal()的なものがphpでありますでしょうか?
0587nobodyさん
2008/06/16(月) 21:19:36ID:???こんな感じでどうだす?
mktime(HH,MM,SS,mm,dd,yyyy);
0589nobodyさん
2008/06/17(火) 09:51:41ID:???$PI = ereg_replace("\.\d*", "", $PI);
とすると、31415になってしまいました。perlの
s/\.\d*//;
だとうまくいくのですが、何かPHPでの注意点ありんすか?
0590nobodyさん
2008/06/17(火) 23:01:21ID:???$PI = ereg_replace("\.[0-9]*", "", $PI);
$PI = preg_replace("/\.\d*/", "", $PI);
こんなんどうだべ?
0592nobodyさん
2010/06/19(土) 14:31:36ID:???どれを使うのが一番なのでしょうか?
・tryとcatch
・set_error_handler
・PEAR_Error
自分は、try catchが一番いいと思いつかっています。
■ このスレッドは過去ログ倉庫に格納されています