探検


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

1俺様
垢版 |
03/02/27 15:17ID:tJsRCtRD
見事Perl→PHPへの脱皮に成功した俺様が
両者の違いを中心に講義してやる。
今までPerlマンセーだったやつはこれを機にPHPに変更しよう也。
質問もガンガン書いてくれ。
このPerlの文はPHPだとどう書くの?とか。
232俺様死ね
垢版 |
03/03/11 11:19ID:???
>>231
お前、全部説明する気か?大変すぎだぞ。それ。
233俺様
垢版 |
03/03/11 11:23ID:+7fowk1S
というか便利なページ発見。
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のサイトで動かすには
結構スクリプトの書き換えが必要。
235俺様死ね
垢版 |
03/03/11 11:31ID:???
>>234
違うぞ。

フォームからの情報がそのまま変数として展開されるか、$_GET $_POSTなどの連想配列?の要素として格納されるかの違いだ。
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自体を自分のディレクトリに
アップロードしないとならないかも。
237俺様
垢版 |
03/03/11 11:47ID:+7fowk1S
>>235
フォローサンクス。

あと、
; cgi.force_redirect = 1
はこのように変えたほうがいい。
cgi.force_redirect = 0

ただ、PHP4.3.0はこの挙動がおかしくなるバグがあるらしいので注意。
238俺様死ね
垢版 |
03/03/11 11:49ID:???
>>237
CGIとして使うなら必須だな。
239俺様
垢版 |
03/03/11 11:51ID:+7fowk1S
後はこれだ。

extension_dir = ""

きちんとextensionsディレクトリをさすようにしておこう。
extension_dir = "C:/php/extensions"

240俺様死ね
垢版 |
03/03/11 11:51ID:???
>>239
じゃないとexpatとかmbstringが使えないからな。重要だ。
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()読めば大体わかるでしょう。
243俺様
垢版 |
03/03/11 12:05ID:+7fowk1S
まあ、重要な設定はこんなもんか?
後は上の日本語訳や
マニュアルにもけっこう説明がしてあるはずだから
それを読んでクレイ。
244nobodyさん
垢版 |
03/03/11 12:32ID:???
register_globals対策。

php3 -> php4で一番困るのが
register_globals

で、Sourceを手っ取りばやく移植するにはSourceの先頭で

$hoge = $_POST["hoge"];

ってな感じにする。
245俺様死ね
垢版 |
03/03/11 12:34ID:???
>>244
って言うか配列を変数に展開する関数みたいなの無かったっけ?
Perlだったっけか?
246nobodyさん
垢版 |
03/03/11 12:58ID:???
何だよここ、良スレ過ぎ!
回答ありがとう。

>>233
ググりかたが甘かったみたい。サンクスコ。
がんがってみます。
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が入る)
249nobodyさん
垢版 |
03/03/12 22:56ID:???
phpをcgiとして使用した場合は

・Perl/CGIと比較して処理速度の高速化
・サーバー負荷の低減

これらのメリットは無くなるということですか?
250俺様死ね
垢版 |
03/03/13 11:13ID:???
>>249
そだね。CGIとしてPerlやCを動かすのと状況は同じ。
それでも俺的にはメリットは余りあるけど。
後、マルチすんなボケ。
251俺様
垢版 |
03/03/13 11:51ID:???
今日はいよいよDBについて書こう。ようやく使い方がわかってきたので。
PostgreでもMyでも使えるようにPearを用います。

対応DB
Interbase
Mini-SQL
Microsoft SQL Server
MySQL
Oracle 8 (OCI)
ODBC
PostgreSQL
Sybase

252俺様
垢版 |
03/03/13 11:59ID:???
まず準備としてphp.iniの設定が必要だ。

この3つを参照。
>>236
>>239
>>242

>>239>>242はMySQLのみの場合は要らないかな。
例えばPostgreSQLを使いたければ
;extension=php_pgsql.dll

extension=php_pgsql.dll
ってする必要がある。
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を入れたりアカウント作ったりと面倒なので各自で調べてくれ。
何とかインストールできたけど数時間掛かった(汗
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>

こんなふうになったら成功だ。
256俺様
垢版 |
03/03/13 12:24ID:???
Pearはここを参考。
http://pear.php.net/manual/ja/

調べたところによるとWindows用PHP4.3以降では
標準で付かなくなってしまったらしいので
上を参考に落としておきましょう。

257俺様
垢版 |
03/03/13 12:25ID:???
もちろん4.2以前から使ってた人は
最初からPearも使用できます。
258俺様
垢版 |
03/03/13 12:30ID:???
というか調べてるうちに(・∀・)イイ!サイト見つけたな。
これ見れば俺様の説明なんぞ用なしかも。
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いいかも。
262nobodyさん
垢版 |
03/03/19 23:10ID:???
つづきまだー
263俺様
垢版 |
03/03/19 23:51ID:???
>>262
何の話題がいい?
語るべきことは大体語っちゃったから
もう全てのPerlスクリプトを移植できるはずだ。
264nobodyさん
垢版 |
03/03/20 01:11ID:???
実践編が欲しいな。

なんかのコピペジェネレータを作るとか。

てかフォームを表示して受け取ってとかやってるとすんげー
HTMLとPHPのコードが入り乱れて汚くなっちゃうんだけど、どうすりゃいいの?
265nobodyさん
垢版 |
03/03/20 15:43ID:???
上でデータを作って下で表示させりゃいい。
<?

//極手抜き
$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じゃイクナイの?
270nobodyさん
垢版 |
03/03/20 20:28ID:???
>>269
@をつけると、エラー出力を抑止する。
つけなくてもいいけど、その場合はfopenに失敗したときにエラーがブラウザに返される。
271nobodyさん
垢版 |
03/03/20 21:50ID:???
>>270
ありがd。
それじゃ代わりにperlみたいに
$fh = fopen($file,"w") or die("しぼんぬ");
ってやってもイイのかな。
272nobodyさん
垢版 |
03/03/20 22:09ID:???
>>271
いやだからそーすると、しぼんぬの前にエラーメッセージが出てしまう。

$fh = @foepn($file, "w");
if(!$fh){
 die("しぼんぬ");
}
273nobodyさん
垢版 |
03/03/20 22:15ID:???
>>272
なるほど。ありがdd
274nobodyさん
垢版 |
03/03/21 01:11ID:???
>>268
exitはexit()
__END__や__DATA__はないんじゃないかな
275nobodyさん
垢版 |
03/03/21 19:33ID:???
>>274
さんくす
276nobodyさん
垢版 |
03/03/25 14:18ID:CVcoKJbJ
メモ。

$a = $b || $c;

perl では、$b が false の場合は $c が $a に代入される。
php の場合は、 $a には $b || $c の bool値(0 or 1)が入る。
277nobodyさん
垢版 |
03/03/25 16:37ID:???
>>276
それJavaScriptでもできたなぁ。
278nobodyさん
垢版 |
03/03/26 06:38ID:l1CVp/e0
ISPによっては、PEARとかの拡張モジュールが入ってない
ところがあるだろうけど、自分で使えるように拡張できるの
ですか?
例えばPerlでいえば、モジュールを自分のディレクトリに入れ
ておけばいいけど、そーゆーことはPHPでできますか?
279nobodyさん
垢版 |
03/03/26 09:07ID:???
>>277
ホントだ。
$foo ||= 'bar'; とか…は流石に無理かな。
ちなみに、python でも or を使って同様のことが出来ました。

>>278
出来るよ。ただし、共有のサーバーにインストールする場合は、
いままで自分のHOMEのライブラリを読んでいたのが、
ISPがPEARをインストールして突然ライブラリのバージョンが変わったりとか
…ありそうな話なので気をつけて。
280nobodyさん
垢版 |
03/03/27 05:59ID:p+/0Vcby
>>279
できるのですか。
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と言う名前で置くことで対応。
282nobodyさん
垢版 |
03/03/27 10:50ID:???
Perl の
$ perl -wcT hoge.pl
に相当する PHP の簡単な文法チェック方法って無い?
283nobodyさん
垢版 |
03/03/27 11:08ID:???
質問です。

例えば名前とトリップを分離する場合、Perl なら
if ($FROM =~ /(.*)(\#\S+)/) {
  $name = $1;
  $trip = $2;
}
と、$1, $2 使って楽できるんだけど、
PHP で↑の $1, $2 みたいなモノに相当するのって何ですか?
284nobodyさん
垢版 |
03/03/27 11:16ID:???
>>283
PerlならsplitにLIMITを指定して使い、分割すると思うが・・・・
PHPでもsplitでしょ。
285nobodyさん
垢版 |
03/03/27 11:21ID:???
>>284
あー例が悪かったですね。丁度身近にあったので出しちゃいました。
要はマッチした部分を簡単に再利用できないか?という質問です。
つまり、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];
}
でいいみたいですね。調査が甘くてすみません。
288nobodyさん
垢版 |
03/03/27 12:52ID:???
自己レスです。
\\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 ではどーやんの?
290イ奄様
垢版 |
03/03/27 16:23ID:???
>>289
$hoge=strtr($hoge, "ab", "cd");
291nobodyさん
垢版 |
03/03/27 16:32ID:???
>>290
サンクスコ!!
292nobodyさん
垢版 |
03/03/28 04:03ID:???
俺様ありがd

C/C++とPerlとVBとPascalとASM位しか知らなかったのだが、
よーやくPHPに手が伸びそうでつ。
293nobodyさん
垢版 |
03/03/28 06:56ID:NA3CJ6rA
>>281
教えていただき、ありがとう。

システム側で設定したPHP動作設定値を変えられないとなると、
ISPで利用する場合、大きな壁になりそうですね。

例えばアップロードファイルのサイズは2Mまでだから、それを超え
るものをアップさせる仕様に対応できない。
PHPでWebアプリ組んでも、いつかはユーザ要件に対応できずに全部
Perl等に書き直す時が来るかも、ということでしょうか?
294nobodyさん
垢版 |
03/03/28 08:06ID:56FSUIhD
>>293
>>293
WEB用途にPHPを使うなら、.htaccessでphp.iniの設定を上書きする方法があります。
アップロードサイズの制限を変更するには、
upload_max_filesize と post_max_size の値を上げることで対応出来るかな。

PEAR のインストールは、多分 include_path に PEAR のpathを追加するだけでOKだと思う。
295nobodyさん
垢版 |
03/03/28 18:00ID:56FSUIhD
既出だけど、三項演算子のネストではまった事あったのでそのときの教訓。
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には見つけられなかった。
汚染チェックは、自主的にそういう習慣を身につけるしかないのかな。
297nobodyさん
垢版 |
03/03/28 19:00ID:???
@sortdata = sort { (split(/\,/,$a))[2] <=> (split(/\,/,$b))[2] } @hogehoge;
Perlでいう↑みたいなことはPHPではどうやればできますか?
298nobodyさん
垢版 |
03/03/28 19:19ID:???
>>296
おぉ、回答ありがとう。
299nobodyさん
垢版 |
03/03/28 20:35ID:/IEo7+Sn


      ∧_∧          _ _     .'  , .. .  ∧_∧
     ( ´_ゝ`)   _ .- ― .= ̄  ̄`:, .∴ '     ( >>297
    /     '' ̄      __――=', ・,‘ r⌒> _/ /
   / /\   / ̄\-―  ̄ ̄   ̄"'" .   ’ | y'⌒  ⌒i
 _| ̄ ̄ \ /  ヽ \_              |  /  ノ |
 \ ̄ ̄ ̄ ̄ ̄ ̄ \__)              , ー'  /´ヾ_ノ
  ||\            \          / ,  ノ
  ||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄          / / /
  ||  || ̄ ̄ ̄ ̄ ̄ ̄ ̄||          / / ,'
  ||  ||              ||        /  /|  |
                       !、_/ /   〉
                           |_/

300nobodyさん
垢版 |
03/03/29 13:38ID:CQcFf7wk
>>294
回答ありがとう。
301nobodyさん
垢版 |
03/03/29 18:28ID:???
%hash = map { $_ => 1 } @list;
とか、
@hash{@list} = (1) x @list;
Perlでいう↑みたいなことはPHPではどうやればできますか?
302phpformperl
垢版 |
03/03/29 20:26ID:kc16+nkl
手本になるようなきれいなPHPコードどれかしってまっか?
やっぱxoopsでっか?
303nobodyさん
垢版 |
03/03/29 22:26ID:???
>>302
XOOPSを積極的に弄っている身としては残念なことだが、
決してきれいなコードではないし、流れを追うのも面倒。
過去のしがらみとかあるので大きく変えられないことや、
複数人で作っているが、細かい部分で明確な規定がある訳ではないので
コア、標準モジュール、果ては標準外の勝手モジュールまで入れると
コードの統一はされていないと思っていい。
フレームワークとしては非常に緩いのでモジュールのコードまで
含めるのは本来フェアではないのだが。

あとJpGraphもコードはちょっとね。便利に使わしてもらってますけど。
304phpfromperl
垢版 |
03/03/30 13:14ID:fNA6Ajxw
>>303
サンクス
とりあえず手本にさせてもらいます。
いろいろ仕掛けをつけやすそうだし。
ほかよりましなようなので。
305nobodyさん
垢版 |
03/03/30 21:07ID:???
sub test {
 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; }
}
307nobodyさん
垢版 |
03/03/31 00:21ID:D273gBu9
# 突っ込まれるかもしれないので、一応補足。
現行のバージョンの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/モジュール名
311nobodyさん
垢版 |
03/04/01 18:35ID:???
倫理値w
312nobodyさん
垢版 |
03/04/01 19:21ID:???
ぷりぃず、晒さないでw
訂正 s/イ/言/
313nobodyさん <>
垢版 |
03/04/01 20:18ID:iGZ3zwAc
>310

ローカルには作れんもんでしょうか?
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;
}

こんなのはどうやってますか?
315nobodyさん
垢版 |
03/04/02 01:58ID:???
>>314
ネタ?
316nobodyさん
垢版 |
03/04/03 16:31ID:???
> 倫理値w
右か左を返すんだよ
317nobodyさん
垢版 |
03/04/08 14:23ID:???
PHPってx演算子ないの?
print "-" x 10;
みたいな
318nobodyさん
垢版 |
03/04/08 15:41ID:???
str_repeat()が近いよ。
319nobodyさん
垢版 |
03/04/08 22:26ID:???
perl にあって PHP にないもの。
PHP にあって perl にないもの。

…って何かないかな?
320nobodyさん
垢版 |
03/04/11 00:44ID:fBEofA1c
年寄りデザでつが,これから極めるのなら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の本は初心者用がたくさん売られていますよ。
大丈夫です。
324nobodyさん
垢版 |
03/04/12 06:02ID:???
Perlの方が幾分ややこしい気はするね。
Perl->PHPは入りやすいらしいけど逆は結構厳しい。
ちなみに、私は後者です…。
325320
垢版 |
03/04/12 22:12ID:3Lo6Ghrc
>>323
Thanksです。
PHPだと入門書でいきなりECサイトまで行ってしまうのですが,
(チャット作成までなんとかついていっている程度)
Perlだと入門書で息切れするような。。。(とてもECサイトまでナンテ
行きませんよね?)
ただ,やはりデザなので自分一人でECサイトまではやりません。
外に頼むまでもない事を自分でやれるようにするという感じです。
(極めるという表現が不適切でした。)
データバのソートとか,Webの自動更新とか。
そのあたりでPerlとPHPはどうかな?と思ったわけです。
326nobodyさん
垢版 |
03/04/13 00:12ID:???
@array = ($query =~ /([0-9a-fA-F]{4})/g);

これをPHPで表現するとどうなるんですか?
327nobodyさん
垢版 |
03/04/13 00:12ID:???
>>323
おまじないってなんだ?CGIとして使ったときのヘッダーのことか?
328nobodyさん
垢版 |
03/04/13 00:56ID:???
>>327
print "Content-type: text/html\n\n";
だと思われ
329nobodyさん
垢版 |
03/04/13 01:06ID:???
>>328
ヘッダーじゃん。
330nobodyさん
垢版 |
03/04/13 01:12ID:???
おまじないって言ったら1;が浮かぶ
331nobodyさん
垢版 |
03/04/13 03:24ID:Ba9KZRzY
PHPって配列厄介だなぁ。
レスを投稿する


ニューススポーツなんでも実況