【待望】PerlユーザのためのPHP入門

このエントリーをはてなブックマークに追加
545nobodyさん:05/03/03 01:29:07 ID:eDjoFwC+
Perlのlast関数にあたるものはPHPのbreak関数かと思いますが、
next関数にあたるものは何になるのでしょうか?

ご教示いただけますと幸いです。
546nobodyさん:05/03/03 07:00:57 ID:???
>>545
continue
547nobodyさん:05/03/03 09:43:42 ID:???
>>545
関数じゃないよ。制御構造と呼んでくれくれたこら
548nobodyさん:05/03/03 14:56:14 ID:???
>>544
おれがPHP使い始めたころと同じこと考えとるな
きっと次は$がいらないんじゃないかとか
printした時に自動で配列表示して欲しいとか
正規表現や無名関数使いずれーとか
便利な関数がイパーイあってええねとか
クラスがPerlよりはおしゃれだとか
549nobodyさん:05/03/08 04:57:03 ID:???
日本語を変数名に使えるようにすんなよとか
リファレンス変数とか可変変数で戸惑うとか
多重継承できないってなんだよとか
DBはいいなとか
550nobodyさん:05/03/08 07:20:38 ID:???
0.0.1のバージョンアップでコアに新機能を加えたあげくにエンバグって何よとか
デフォルトでハッシュな配列はステキですねとか
array_map_recursive()きぼんとか
551nobodyさん:2005/11/06(日) 12:54:25 ID:szZvbyxN
perl使いがPHP使いに成ってもスキル低いのには変わらないけどな。
PHP覚える時間と暇があれば、JavaとかCが使えるようにスキル磨け。
552nobodyさん:2005/11/07(月) 01:20:42 ID:???
意味不明
553nobodyさん:2006/01/20(金) 19:20:58 ID:???
Cはもう、使う職場が限られている気がするが
554nobodyさん:2006/03/13(月) 04:51:31 ID:???
保守
555nobodyさん:2006/03/31(金) 03:55:29 ID:???
保守
556nobodyさん:2006/04/27(木) 19:27:28 ID:???
保守
557nobodyさん:2006/04/28(金) 03:16:17 ID:???
スレの内容を勝手にまとめてみたのでうpするよ
俺様タンのレスぶっこ抜いただけなので
だめなようならすぐ消します。
txtだけどhtmlにリネームしてくだせ。

http://bebe.run.buttobi.net/up/src/be_1673.txt.html
558557:2006/04/28(金) 03:19:25 ID:???
HEAD内のひとつめのSTYLEタグは不要なので消しておk
559nobodyさん:2006/05/15(月) 05:54:56 ID:KM0klNRe
>>557
乙。もらいます
560nobodyさん:2006/09/20(水) 11:53:55 ID:uaOOSUkQ
Perlのqqみたいなの、PHPでできんか?
561560:2006/09/20(水) 12:00:23 ID:uaOOSUkQ
できんか・・rubyでも同様の文法はあるんだけどなぁ・・。
ヒアドキュメントは、インデントが崩れるので大袈裟でちょっと扱いにくい。
562nobodyさん:2006/09/24(日) 06:15:19 ID:???
ヒアドキュメントは当然ながら、qqも必要ないもん。
563nobodyさん:2007/05/04(金) 02:57:45 ID:SmDWSadW
保守
564nobodyさん:2007/05/07(月) 03:01:24 ID:???
このスレの意思とは逆なんですが、
php経験があり、perl未経験です、
perlスクリプトを眺めているのですが、どうもわからない構文が多々あります。


サブルーチン if ($hoge && $> == 0);

↑これってどういう意味を表しているのでしょうか?
ifの前にサブルーチンが存在するのと、
$hoge && $> == 0 の意味がわからんです。
565nobodyさん:2007/05/08(火) 00:36:50 ID:???
$>はuid
$hogeが真かつrootで実行されている時だと思う

> ifの前にサブルーチンが存在するのと、
Perlの基本的な変体文法なので入門書読め
566nobodyさん:2007/05/09(水) 21:29:36 ID:+HRKvy3U
perlでハッシュの値を出力すると何故か「1/8」になってしまうんですがこれはどうすれば直せますか?
567nobodyさん:2007/09/17(月) 05:29:18 ID:j/liUul9
亀だが

>566
$foo=%hoge;
print $foo;

ってなってんじゃね
鯨のハラワタが散らかってるとか言われる部分だから気にするな

perl嫌になてきた
だからといってphpも嫌だぜ
Lispでもはじめようぜ
568nobodyさん:2007/09/17(月) 14:53:34 ID:???
早くもPHPユーザのためのPerl入門スレになりつつあるな
569nobodyさん:2007/09/17(月) 19:28:13 ID:???
アリガd
570nobodyさん:2007/09/18(火) 21:48:20 ID:???
基礎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文を使うとあります。

どうかお願いします。
571nobodyさん:2007/10/04(木) 11:12:02 ID:Ba37oSfY
ここに神がいることを祈ります。

これ

$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:40 ID:???
int(rand(64)) => rand(0, 63)

これだけ代えればいけるんじゃね?
573nobodyさん:2007/10/04(木) 14:18:23 ID:Ba37oSfY
>>572
あなたは神だ。
ありがとうございました^^
本当助かりました。
574nobodyさん:2007/10/07(日) 01:40:12 ID:???
>>570
まずPerlでかけるのか?
かけないなら質問スレいってこい
575nobodyさん:2007/10/20(土) 02:19:47 ID:???
漠然とした質問で申し訳ないが
単なるテキストファイルをincludeするだけだったら
SSIとPHPとどっちがサーバ負荷が少ないかな?
576nobodyさん:2007/10/20(土) 02:42:16 ID:???
基本同じくらい


ただ、組み込むモジュールmod_includeとmod_phpではmod_phpの方が断然メモリ食う
577nobodyさん:2007/10/23(火) 00:14:10 ID:???
>>576
遅くなったがありがトン

すでに構築されてるサイトを引き受ける事になったんだけど
SSIだらけだったんでちょっと気になってね
PHPの方が利便性良さそうなんで移行しようかと思ったけど静観かな
578nobodyさん:2008/05/25(日) 10:56:38 ID:???
&ReadParse;
while (($key,$val) = each %in) {

って言う良く見るPerlをphpで書き直すと?
extractだとPOSTとGET両方は拾えないみたいですし。
キーごとに処理を分けるのは、phpではどうしたら?

教えて下さい神様。
579nobodyさん:2008/05/27(火) 23:52:32 ID:???
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の方が良く解らないので見当はずれだったらごめん。
580nobodyさん:2008/05/28(水) 23:19:19 ID:???
ありがとうございます。
上述の方法でやってみます。

助かりました!
581nobodyさん:2008/06/04(水) 07:29:17 ID:???
>>578だとgetだろうがpostだろうが
すでに%inに入ってる訳だがその辺は良いのか?

>>579
俺はPHPはイマイチなんだが、$_POSTか$_GETを判別して別のハッシュに入れ
そのハッシュをeachした方が良くね?
582nobodyさん:2008/06/05(木) 21:39:46 ID:???
>>581
Perlでいうハッシュ=連想配列:$QUERY{$key} = $valで、
$_POSTや$_GETは既に判別された後のハッシュと同じと解釈してますが、
実際どうなんだろう?
583nobodyさん:2008/06/06(金) 10:39:11 ID:???
いや、ループの前に$_POSTでも$_GETでも1つにしちまえば
ループ自体が1つに出来るっていう話
584nobodyさん:2008/06/06(金) 11:40:29 ID:???
つ $_REQUEST
585581=583:2008/06/06(金) 17:14:55 ID:???
>>584
そんな便利なのあるんだな
元質問者じゃないが勉強になったよ
586nobodyさん:2008/06/16(月) 20:24:30 ID:???
DMYHMS形式をエポック秒に変換したいんだすが、
Perlのtimelocal()的なものがphpでありますでしょうか?
587nobodyさん:2008/06/16(月) 21:19:36 ID:???
お前は風大左衛門かw
こんな感じでどうだす?

mktime(HH,MM,SS,mm,dd,yyyy);
588nobodyさん:2008/06/16(月) 23:26:39 ID:???
>>587
バッチリです!ありがとうごぜいます。
589nobodyさん:2008/06/17(火) 09:51:41 ID:???
文字列の小数点以下を削除しようと思って、("3.1415"→"3")

$PI = ereg_replace("\.\d*", "", $PI);

とすると、31415になってしまいました。perlの
s/\.\d*//;
だとうまくいくのですが、何かPHPでの注意点ありんすか?
590nobodyさん:2008/06/17(火) 23:01:21 ID:???
perlちとPHPとで、正規表現がちがうでよ。

$PI = ereg_replace("\.[0-9]*", "", $PI);
$PI = preg_replace("/\.\d*/", "", $PI);

こんなんどうだべ?
591nobodyさん:2008/06/17(火) 23:16:04 ID:???
>>590
ズッポシです!ありがとうございました。
592nobodyさん:2010/06/19(土) 14:31:36 ID:???
PHPのエラー処理は、以下の三つくらいがあげられますが、
どれを使うのが一番なのでしょうか?
・tryとcatch
・set_error_handler
・PEAR_Error
自分は、try catchが一番いいと思いつかっています。
  ∧_∧
  ( ・∀・)      | | ガガッ
 と    )      | |
   Y /ノ      .人
    / ) .人   <  >_∧∩
  _/し' <  >_∧∩`Д´)/
 (_フ彡 V`Д´)/   / ←>>416
            / ←>>343
594nobodyさん
同じだから移行して何の意味があるのかわからん