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

168: 03/03/06 08:29 ID:??? AAS
>>161
外部リンク[php]:www.php.net
演算子の優先順位が
=より:?の方が高いから
$a?$b:$cの方が$c=1より先に評価されるはずじゃない?

でもこうやってみたら$aが真のときに
$bに1が代入されてたからやっぱ>>161のいう通りかな。
$a ? $b = 1: $c; >>161
外部リンク[php]:www.php.net
演算子の優先順位が
省12
169: イ奄様 03/03/06 09:07 ID:??? AAS
これで勘弁してくれ
Perl
$a?$b:$c=1;
PHP
$a?$b=1:$c=1;
170: 俺様 03/03/06 09:53 ID:0wTJZFjp(2/6) AAS
では今日はフォームの受け渡しを書いておこう。

まずは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:10 ID:0wTJZFjp(3/6) AAS
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を用いないとさらに面倒である。
172: 俺様 03/03/06 10:17 ID:0wTJZFjp(4/6) AAS
PHPの場合だとこれでよい。
<?php
print $_POST["name"]."は".$_POST["sex"];
?>

ちなみにGET方式の場合は同様に
$_GETの配列に代入される。

$_REQUESTにはGET,POST関係なく
代入されてくれる。(ただし、安全じゃないという理由で推奨はされない)
173: 俺様 03/03/06 10:29 ID:0wTJZFjp(5/6) AAS
外部リンク[php]:www.php.net
文字列関数を見るとわかるがかなり便利な関数が標準で用意されている。

htmlspecialchars
特殊文字をHTMLエンティティに変換する
例えば、<を'<'に変えてくれるのだ。
タグとみなされずにすむ。

trim
文字列の先頭および末尾にあるホワイトスペースを取り除く
これもフォーム処理の際にはあると便利だろう。

こんなふうにすればフォームから受け取った全ての値に
省3
174: 俺様 03/03/06 10:30 ID:0wTJZFjp(6/6) AAS
これでフォームもバッチリъ( ゚ー^)だろう。
175
(1): 03/03/06 11:23 ID:??? AAS
a?b:c=1;
本来はエラーにすべきだけど、gccだと通るんだよな・・・三項演算子が左辺になりうる。
まあ-ansi -pedanticをつければエラーにしてくれるけど。
176: 175 03/03/06 11:28 ID:??? AAS
s/左辺/左辺値/
177
(1): 03/03/06 15:41 ID:??? AAS
いい加減な仕様とか言って・・

演算子の優先順位も、左辺値になるということも、
perlopにちゃんと書いてあるし。ちゃんとした仕様。

仕返しだ。

$a ? $b : $c = $d ? $e : $f = $g ? $h : $i = $j ? $k : $l = $m ? $n : $o;
178: 俺様 03/03/06 16:42 ID:SMJB497B(1/2) AAS
>>177
いや、いい加減な仕様ってのは今回に限ってはPHPに対していったのさ。
>>157で言ったようにPerlの場合は予想したとおりになったからね。

俺が言いたかったのはPHPの場合が>>161みたいになっているのが
いい加減だなあってことだ。
179
(2): 03/03/06 17:01 ID:??? AAS
PHPも、優先度は、=の方が上だから、そのままの結果。ではないのか?
180
(2): 俺様 03/03/06 17:04 ID:SMJB497B(2/2) AAS
>>179
>優先度は、=の方が上
ソースキボンヌ。
俺が調べた結果だと=の方が下だった。
181: 03/03/06 17:05 ID:G2YpYyeT(1) AAS
◆ようこそ!!ピンクエンジェルです★
外部リンク[html]:www.pink-angel.jp
182: 03/03/06 17:06 ID:??? AAS
本来はd=a?b:c;という形で使う者なんだから、=の方が低くて当然。
左辺値になるってのがおかしいんだよ(-_-;)
183: 03/03/06 19:06 ID:??? AAS
>>180
あぁ。最低から並べたものって書いてあった。うぅ。
184: 03/03/06 21:36 ID:??? AAS
180 名前:俺様 投稿日:2003/03/06(木) 17:04 ID:SMJB497B
>>179
>優先度は、=の方が上
ソースキボンヌ。
俺が調べた結果だと=の方が下だった。

181 名前:nobodyさん 投稿日:2003/03/06(木) 17:05 ID:G2YpYyeT
◆ようこそ!!ピンクエンジェルです★
外部リンク[html]:www.pink-angel.jp

182 名前:nobodyさん 投稿日:2003/03/06(木) 17:06 ID:???
省11
185
(3): 03/03/06 23:54 ID:aj5F0raF(1) AAS
教えて下さい。
配列@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:46 ID:86BQl/fj(1) AAS
>>185
実はそれに似たようなので、俺様も苦労したんだな〜

1<>32<>43<>2
3<>41<>443<>232
...
ってな感じでデータが入ってて
3列目(上だと43,443)だけでsortしたいなーって。
で、結局よくわからんかったから自己関数作った。

function cmp ($a, $b) {
$tmp1 = explode("<>", $a);
省13
187: 03/03/07 00:46 ID:??? AAS
教えて下さい。
配列@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'...みたいなデータが入ってて、-の右側でソートしたい場合、
省7
1-
あと 414 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.020s