【PHP】下らねぇ質問はID出して書き込みやがれ 128
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2013/05/26(日) 23:01:58.78ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 127
http://kohada.2ch.net/test/read.cgi/php/1363698829/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0496nobodyさん
2013/07/05(金) NY:AN:NY.ANID:???基本的にはいいと思うけど、人が増えたときのサーバー負荷が高くなりそう。
もしアパッチでやってるなら
アパッチよりもnodejs等でリアルタイムWEBな方式を検討してみてる価値はあると思う。
0497495
2013/07/05(金) NY:AN:NY.ANID:a6le42l8アドバイスありがとうございます。
AjaxやCometよりも、リアルタイムWEBとしては、node.jsを利用した
WebSocketに優位性があるようですね。勉強してみます。
なお、実際、以下のようなジレンマが悩ましいです。
Ajax、Cometについての言及。
http://www.atmarkit.co.jp/ait/articles/1010/05/news133_2.html
「1リクエスト/レスポンスヘッダー自体は数KBと、そう大きくありませんが、
リクエストの更新頻度が密になってくると、毎回のリクエスト量は馬鹿になりません。
更新頻度を遅くすると、欲しい情報がすぐに手に入らないし、更新頻度を上げると
サーバへのリソース要求が高くなる、というジレンマを抱えることになります。」
0498nobodyさん
2013/07/05(金) NY:AN:NY.ANID:???0499nobodyさん
2013/07/05(金) NY:AN:NY.ANID:???Ajax、Cometについてはそういった問題があるけど、WebSocketにはないんだろ?
じゃあWebSocketでいいじゃん
0500nobodyさん
2013/07/05(金) NY:AN:NY.ANID:???0501495
2013/07/05(金) NY:AN:NY.ANID:wXQJTLAZレスありがとうございます。
WebSocketについては今日知ったばかりなので、検討中です。
学習コストが高そうなのと、ブラウザの一部が未対応との情報が気になります。
なお、質問の主旨は、>>495のとおり「対戦開始までの基本的な流れ」は、
どう設計したら良いかです。 PHP側での注意点など、ご指摘してくださると
有り難いです。
0502nobodyさん
2013/07/05(金) NY:AN:NY.ANID:???何を心配しているのか具体的に書いてくれないと具体的に答えようがない
データの矛盾?パフォーマンス?不正操作の穴?ユーザビリティ?
0503nobodyさん
2013/07/05(金) NY:AN:NY.ANID:HeBuTBQC0504495
2013/07/05(金) NY:AN:NY.ANID:wXQJTLAZ対戦ゲームの設計についてです。
対戦システムを作りたい。
例えば、オンライン将棋やオセロなどは、どのように対戦成立を実現しているのだろう。
チャットシステムを応用すればよいのかな?
とりあえず、>>495の設計の流れで出来た。でも、これで本当にいいの?
こういった疑問です。
PHPで作る対戦システムの設計やロジックを知りたいです。
0505nobodyさん
2013/07/05(金) NY:AN:NY.ANID:???http://wise9.jp/archives/3930
ロブロブラボ - ROBROB LAB
http://rob2.jp/mmodev/net.html
MMORPG製作に使えそうな通信ライブラリ
RakNet ttp://www.rakkarsoft.com/
UDPベースのオブジェクト同期系ネットワークライブラリ
HawkNL http://www.hawksoft.com/hawknl/
LGPL、Windows、各種Un*x、MacOS 7〜9/X対応のネットワークライブラリ
オブジェクト同期までは持ってないが、ネットワーク越しのSignal、Mutexぐらいは持ってる。
Nevrax.org -- NeL
大規模なオンライン世界を開発するためのツールキット
http://wiki.game-develop.com/index.php?%A5%D7%A5%ED%A5%B0%A5%E9%A5%DF%A5%F3%A5%B0%2FMMORPG#y28807ac
0507nobodyさん
2013/07/05(金) NY:AN:NY.ANID:???UDP:速いけれどデータが届くとは限らない
TCP:遅いけれど確実にデータが届く
アクションMMORPGでは通信速度が重要です。しかし、データの正確性もある程度は必要です。
http://gamemake.wiki.fc2.com/wiki/14.5%E3%82%B2%E3%83%BC%E3%83%A0%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%81%AE%E4%BB%95%E6%A7%98
ネットワークプログラミングの基礎知識
http://x68000.q-e-d.net/~68user/net/
WinSockプログラミング序章
「ネットワークゲームを作りたい!」
今までにそう思ったことはありませんか?
http://www.geocities.jp/playtown1056/program/zyoshou.htm
Linuxネットワークプログラミング
http://www.geekpage.jp/programming/linux-network/
0509nobodyさん
2013/07/06(土) NY:AN:NY.ANID:???ではこれから遠慮なくRubyの布教をさせてもらう
0510nobodyさん
2013/07/06(土) NY:AN:NY.ANID:CYENJL3T速度さえでるならサーバーはPHPで設計していい。
しかしユーザー側はPHPが動作する環境にないから、
JavaとかJavascriptとかflashとかC++とかC#とか別に作らないとダメだろ。
ブラウザでHTMLだけを表示してたらリアルタイムにならない。
0511495
2013/07/06(土) NY:AN:NY.ANID:Jrzu0zyxリアルタイム通信については、質問の主旨ではありません。
質問の主旨は、「PHPで作る対戦システムの設計」です。
特に、対戦開始成立までの流れです。ただ、付随的にAjaxを利用しています。
ですから、PHPに関連する範囲でアドバイスをお願いしています。
0512nobodyさん
2013/07/06(土) NY:AN:NY.ANID:???0513nobodyさん
2013/07/06(土) NY:AN:NY.ANID:???0514nobodyさん
2013/07/06(土) NY:AN:NY.ANID:???ネットワーク機能もあるがサーバーが外部とのやりとりするためでユーザー側を操れるわけでない。
ユーザー側の通信を制御するのはPHP以外の技術。
0515495
2013/07/06(土) NY:AN:NY.ANID:cPOigFzJ悪いなら、どこが悪くて、どう直せばよいのか、
良いなら、他に改良点があるかです。
0517nobodyさん
2013/07/06(土) NY:AN:NY.ANID:???http://www.moongift.jp/2013/02/20130226/
「PeerJS」でP2Pチャットを作ってみる http://tech.aainc.co.jp/archives/4798
WebSocketを使っていない、サーバ無用なリアルタイム通信ライブラリ「Easy WebSocket」
http://www.moongift.jp/2011/03/20110316-2/
Node.jsでWebSocketサーバを作ってみる。 http://d.hatena.ne.jp/sho322/20130610/1370844721
Node.jsとWebSocket.IOでチャットアプリを作る http://mawatari.jp/archives/make-a-chat-application-in-node-js-and-websocket-io
Tomcat、Jetty、Socket.IO/Node.js性能比較: WebSocketが一番速いアプリケーションサーバはどれだ
http://www.atmarkit.co.jp/ait/articles/1306/04/news021.html
リアルタイムWebを極める
ポーリングからCometへ
数年前まではチャットルームのようなサービスでは,一定時間ごとに新しい情報がないか調べるポーリングと呼ばれる方法が使われてきました。
しかし,ポーリングでは情報がない時にもサーバへアクセスする必要があるため,実際には10秒間隔といったように時間を空けることで,サーバの負荷を減らす手法がとられました。
その後,ロングポーリング(通称:Comet)と呼ばれる見かけ上はサーバからのプッシュ通信が行える技術を使ったチャットサービスなどが登場しました。
http://gihyo.jp/dev/serial/01/realtimeweb/0001
CometとAjaxを利用したチャットサーバの実装
http://codezine.jp/article/detail/733?p=2
リアルタイムWebを構築しやすくする「Socket.IO」とは
ポーリングを用いる手法 http://cdn.shoeisha.jp/cz/static/images/article/7075/7075_01a_s.gif
Comet http://codezine.jp/static/images/article/7075/7075_02a_s.gif
プラグインによるSocket接続 http://codezine.jp/static/images/article/7075/7075_03a.gif
WebSocket http://codezine.jp/static/images/article/7075/7075_04a.gif
http://codezine.jp/article/detail/7075
0518495
2013/07/06(土) NY:AN:NY.ANID:cPOigFzJなるべく対戦開始時間が近い方が良いですが、
数秒のズレがあっても良いと考えてます。
0520nobodyさん
2013/07/07(日) NY:AN:NY.ANID:UBLgc+apPOSTされたbase64の画像データを受け取って保存してそれを表示したいのですが、相応のサイズのファイルは作成されているのですが、うまく画像ファイルになっていないみたいで画像として開けません。
環境 CentOS6.4
パッケージ一覧
php.x86_64 5.3.3-22.el6
php-cli.x86_64 5.3.3-22.el6
php-common.x86_64 5.3.3-22.el6
php-gd.x86_64 5.3.3-22.el6
php-mbstring.x86_64 5.3.3-22.el6
php-mcrypt.x86_64 5.3.3-1.el6
php-mysql.x86_64 5.3.3-22.el6
php-pdo.x86_64 5.3.3-22.el6
php-pear.noarch 1:1.9.4-4.el6
php-tidy.x86_64 5.3.3-22.el6
php-xml.x86_64 5.3.3-22.el6
php-xmlrpc.x86_64 5.3.3-22.el6
http://pontago.hatenablog.com/entry/20091028/1256743421
http://ameblo.jp/mingw/entry-10359267538.html
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1133306221
を参考にしてつくったのが下記のコードです
0521nobodyさん
2013/07/07(日) NY:AN:NY.ANID:UBLgc+ap続きです
function is_img($img_path){
if (!(file_exists($img_path) and $type=exif_imagetype($img_path))) return false;
if (IMAGETYPE_GIF == $type) return 'gif';
else if (IMAGETYPE_JPEG == $type) return 'jpg';
else if (IMAGETYPE_PNG == $type) return 'png';
return false;
}
0522nobodyさん
2013/07/07(日) NY:AN:NY.ANID:UBLgc+ap続きです
$data = $_POST['files'];
$www_dir = "/img/upload_images/";
$file_path = $_SERVER['DOCUMENT_ROOT'] . $www_dir;
$file_name = "test";
if (touch($file_path . $file_name)) {
$fp = fopen($file_path . $file_name, 'w');
$data = base64_decode(str_replace(' ', '+', $data));
fwrite($fp, $data);
fclose($fp);
} else {
echo 'No Writeing';
}
if ($ext = is_img($file_path . $file_name)) {
if (rename($file_path . $file_name , $file_path . $file_name . ".org.$ext")) {
echo "not rename exit";
exit(0);
}
} else {
// ここが実行される!!
echo 'image only';
exit(0);
}
echo $file_path . $file_name . ".$ext";
0523nobodyさん
2013/07/07(日) NY:AN:NY.ANID:???0524nobodyさん
2013/07/07(日) NY:AN:NY.ANID:UBLgc+ap>>523
ファイルの内容が違うのはあきらかなんですがバイナリファイルをみてもそれがなんなのか、違う原因の突き止めかたが全然わからないので…。
参考の為に…
元画像:http://kobe.digi2.jp/test/test.png
エンコード→デコードしたやつ:http://kobe.digi2.jp/test/new_test.png
0525nobodyさん
2013/07/07(日) NY:AN:NY.ANID:???それと、エンコードデコードしたやつじゃなくて、POSTされたファイルそのものが
検証には必要なんじゃないかと思うけど。
0526nobodyさん
2013/07/07(日) NY:AN:NY.ANID:???0527>>520-522です
2013/07/07(日) NY:AN:NY.ANID:UBLgc+ap>画像見れないし。
画像として見れないから困ってるんです。名前をつけて保存して見てください。
>あ、元画像じゃなくて、サーバに保存されたファイルをPOSTされたファイルって言ってるからね。
http://kobe.digi2.jp/test/new_test.png がサーバーに保存されたファイルです。
ちなみにPOSTしてデコードする前のデータをimgタグのsrcに設定するとちゃんと見れます。
http://kobe.digi2.jp/test/new_test.html
0528nobodyさん
2013/07/07(日) NY:AN:NY.ANID:???その例のbase64食わしてみたらちゃんとデコードされたぞ
デコードするまえのbase64 のデータのまま保存したらどうなってる?
0529>>520-522です
2013/07/07(日) NY:AN:NY.ANID:UBLgc+ap>デコードするまえのbase64 のデータのまま保存したらどうなってる?
エンコード状態で保存しても画像としては見れないままです・・。
新たな発見がありました
下記のコードを実行すると
--------------------------------------------
$data = $_POST['files'];
$data = str_replace(' ', '+', $data);
echo '<img src="' .$data.'">'; // ←ちゃんと表示される
$decode_data = base64_decode($data);
$encode_data = base64_encode($decode_data);
if ($decode_data === $encode_data) {
echo '一致';
} else {
echo 'なぜか不一致';
}
--------------------------------------------
「なぜか不一致」が出力されてしまいました・・・orz
こんなことってあるんですか・・・?
0531nobodyさん
2013/07/07(日) NY:AN:NY.ANID:???0532nobodyさん
2013/07/07(日) NY:AN:NY.ANID:???>data:image/png;base64,
この文字まで食わせてるだろう、それが原因だよ。
0533>>520-522です
2013/07/07(日) NY:AN:NY.ANID:UBLgc+apこれです
保存されたのをテキストエディタで開いて閲覧したときの値です
http://kobe.digi2.jp/test/test.html
0534nobodyさん
2013/07/07(日) NY:AN:NY.ANID:???base64_decode するときは base64,の次の iVBO〜から渡さないとダメだよ
0535nobodyさん
2013/07/07(日) NY:AN:NY.ANID:UBLgc+apああ……そういうことですか…
お騒がせしてしまってもうしわけない
MIMEとかなんやらのファイルに関しての知識がまったくなかったもので…
0536nobodyさん
2013/07/07(日) NY:AN:NY.ANID:???0537nobodyさん
2013/07/07(日) NY:AN:NY.ANID:UBLgc+apPHPの関数の不具合かと思い込んでいたので危うくいつまで経っても解決できないところでした
ありがとうこざいました
0538nobodyさん
2013/07/07(日) NY:AN:NY.ANID:???0539nobodyさん
2013/07/07(日) NY:AN:NY.ANID:???0540nobodyさん
2013/07/07(日) NY:AN:NY.ANID:???0541nobodyさん
2013/07/07(日) NY:AN:NY.ANID:???>>520だけど、無知だからだよ。
「php base64_decode」や「php
base64_decode ファイル保存」ググって5ページくらいリンクを紫色で塗りつぶしたけど、ファイルのヘッダ部分を削除してファイルに保存してくれるコードには出会わなかったしどうすりゃいいんだよ
0542nobodyさん
2013/07/07(日) NY:AN:NY.ANID:???知識がないことじゃなくて、行為と判断に対して言っている
0543nobodyさん
2013/07/07(日) NY:AN:NY.ANID:???0544nobodyさん
2013/07/07(日) NY:AN:NY.ANID:???じゃあその行動と判断の模範解答例をお願いします。多分それが解決しないと何の意味もないし、今後の参考にしたいので。
0546nobodyさん
2013/07/07(日) NY:AN:NY.ANID:zB7I9fCCつまりここに書き込むまでもなくわかるということ
一言で言うと
馬鹿には無理
0547nobodyさん
2013/07/07(日) NY:AN:NY.ANID:???0548nobodyさん
2013/07/07(日) NY:AN:NY.ANID:UBLgc+apめちゃくちゃ荒らしてあとで申し訳ないないけど、 データがどうなってるかは最初からわかってるし、データどうなってるかがわかったところで根本的解決にはならない。そもそもヘッダを含めちゃいけないってしらなかったんだから。
0549nobodyさん
2013/07/07(日) NY:AN:NY.ANID:zB7I9fCC元本と比べれば小学生でも違いはわかるんだからさ(笑)
0550nobodyさん
2013/07/08(月) NY:AN:NY.ANID:Ut6Bx/oC君はバイナリデータがよめるのか
へーすごいね
0551nobodyさん
2013/07/08(月) NY:AN:NY.ANID:JakHMzbXPHPとMYSQLを用いてテーブルの表示し、表示されたページからボタンを押下して
ステータスを0⇒1⇒0⇒1と更新したいと考えてます。
現在、テーブルを表示させることはできてますがボタンを押下した際に対象となる列を指定して更新することができません。
対処法をご教示頂ければと思います。
$row[0]にはコードが、$row[1]にはステータスが挿入されてます。以下ソース抜粋となります。
while ($row = mysql_fetch_row($list_result)){
switch ($row[1]){
case '0':
$aaa = row[0];
$status = '<button name=test class="btn btn-small btn-primary">Statu0</button>';
break;
case '1':
$status = '<button name=test class="btn btn-small btn-danger">Status1</button>';
break;
}
echo <<<list2
<tr align="center" >
<td>$row[0]</td><td>$status</td>
</tr >
</form>
list2;
}
if (isset($_POST['test'])) {
echo $aaa;
}
0553nobodyさん
2013/07/08(月) NY:AN:NY.ANID:???そもそもボタン押下時のスクリプトは成功してるんかね?
0555nobodyさん
2013/07/08(月) NY:AN:NY.ANID:TuBZgbNe0556nobodyさん
2013/07/08(月) NY:AN:NY.ANID:TuBZgbNe早いトコやめた方がいいよ
0558nobodyさん
2013/07/08(月) NY:AN:NY.ANID:Ut6Bx/oCさすがにそれはやったよ。ただそれで解決できるなら質問なんかしない。
壊れたバイナリをみてどんな行動をとればいいのかと聞いているんだが。バイナリデータ意味わかってる?
0559nobodyさん
2013/07/08(月) NY:AN:NY.ANID:???異常な方と正常なpngで最初の100バイトほどダンプしたらあきらかに全然違っていたのと
ファイルのサイズが異常な方は数バイト大きかったので、
この大きくなった分がどこから来たか推測して(先頭から違うんだから最初がおかしいと推測できる)
試しにヘッダごとデコードしてみたら、問題のデータと全く同じものができた。
という手順で検証した。
$_FILES使えって
0560nobodyさん
2013/07/08(月) NY:AN:NY.ANID:???これはどういう意味?
データベースヘッダー?
0561nobodyさん
2013/07/08(月) NY:AN:NY.ANID:???STateMenT
0562nobodyさん
2013/07/08(月) NY:AN:NY.ANID:???意味は>>560の通りなんだけど、そう書く人が多いのはマニュアルがその省略形を使ってるからだと思う。
例えば、
http://www.php.net/manual/ja/pdo.errorinfo.php
0563nobodyさん
2013/07/08(月) NY:AN:NY.ANID:???$stmtじゃなくて$psとかにするかもな
0564nobodyさん
2013/07/08(月) NY:AN:NY.ANID:???主題と逸れてるのは理解したうえで言うけど、
適当な画像ファイルをテキストエディタで開いてみるといいよ。
読める文字が先頭についてるから。
0565nobodyさん
2013/07/08(月) NY:AN:NY.ANID:???0566nobodyさん
2013/07/08(月) NY:AN:NY.ANID:???0567nobodyさん
2013/07/08(月) NY:AN:NY.ANID:Ut6Bx/oCエディタで開いたんだからさすがに気づいてたけど、それが解決にはならん気がする。
>>559
>base64のデータを普通にでコードしたら正常なpngができた
→「普通にデコード」の意味がわからんけど、img src=base64データ で表示はできたんだからデータが間違ってないのはわかってるよ
>この大きくなった分がどこから来たか推測して(先頭から違うんだから最初がおかしいと推測できる)
→それならヘッダ以外の後のほうは、元データもヘッダ付きデータも同じなんだから後の方が違うのはおかしいと思っちゃう
>$_FILES使えって
→ドラッグアンドドロップで画像をアップロードするものを作っていて、一番自分でカスタマイズできそうなサンプルを探し、それが結果的にbase64で送るものだったんです
普段は勿論 $_FILES使います。
「推測すればいい」 というけれどもちろん私はエスパーでもなければ感のいいほうではありません。今回は完全にバイナリファイルの扱いが初めてだったことと、質問時にそれを伝え損ねた事が原因だと思うので今後は気をつけていこうと思います。
0569nobodyさん
2013/07/08(月) NY:AN:NY.ANID:???まぁ、いらいらすることもあるさ。
次は、base64エンコードされるというのはどういうことかって言うのを調べておけばいいんじゃない?
意味もわからず使うからそうなるわけで、それすらも省略される近道を求めちゃいけないと思う。
0570nobodyさん
2013/07/08(月) NY:AN:NY.ANID:???0571nobodyさん
2013/07/09(火) NY:AN:NY.ANID:k7B6tgkb全力で言い訳する暇があったら一言礼だけ言って次に進めよ
全力で言い訳してる時点でもうだめだわ
0573nobodyさん
2013/07/09(火) NY:AN:NY.ANID:k7B6tgkb0574nobodyさん
2013/07/09(火) NY:AN:NY.ANID:???キミの問題は、結果がおかしい時に何も調べずに
phpの仕様のせいにして先に進めなかったtことと
結果がわかっても自分のせいにしたくなくて
今後のやり方をあらめようともしないところ
今後人に聞くのはやめろよな、環境作っていろいろ調べて結果を出したのに後味悪すぎる
0576nobodyさん
2013/07/09(火) NY:AN:NY.ANID:???0579nobodyさん
2013/07/09(火) NY:AN:NY.ANID:k7B6tgkb0580nobodyさん
2013/07/09(火) NY:AN:NY.ANID:???0582nobodyさん
2013/07/09(火) NY:AN:NY.ANID:eZcG40Bcはい。
でももっかい彼が書かないことにはどうにもならんなこれ
0583nobodyさん
2013/07/09(火) NY:AN:NY.ANID:IrNQ7IWSはい。
でももっかい彼が書かないことにはどうにもならんなこれ
0584nobodyさん
2013/07/09(火) NY:AN:NY.ANID:eZcG40Bc0585nobodyさん
2013/07/09(火) NY:AN:NY.ANID:7W64c/4qはい。
でももっかい彼が書かないことにはどうにもならんなこれ
0586nobodyさん
2013/07/10(水) NY:AN:NY.ANID:???0587nobodyさん
2013/07/10(水) NY:AN:NY.ANID:CN5V3Wu/0588nobodyさん
2013/07/10(水) NY:AN:NY.ANID:???0589nobodyさん
2013/07/10(水) NY:AN:NY.ANID:BysYyNl30590nobodyさん
2013/07/10(水) NY:AN:NY.ANID:hhzOdqYqコロンの後に、exit()を用いても大丈夫ですか?
以下の文は、期待通りに動くのですが、後々、問題になるのを避けたいです。
$val = !empty($arg) ? $arg : exit('error');
0592590
2013/07/10(水) NY:AN:NY.ANID:E8EpK5eUと思いましたが、次のようにするとTRUEかFALSEが代入されてしまいます。
どのように or die を使えば良いのでしょうか。
$val = !empty($arg) or die('error');
0593nobodyさん
2013/07/10(水) NY:AN:NY.ANID:???http://codepad.org/iVif3kSL
0594590
2013/07/10(水) NY:AN:NY.ANID:E8EpK5eU<?php
$arg = 1;
$val = !empty($arg) or die('error');
echo $val, PHP_EOL;
結果 1
これは確かに1を出力します。
なぜなら、!empty($arg) の返り値がTRUEであり、出力すると1になるから。
しかし、$arg = 5;にしても1になってしまいます。
この点は不具合です。
<?php
$arg = 5;
$val = !empty($arg) or die('error');
echo $val, PHP_EOL;
結果 1
0595nobodyさん
2013/07/10(水) NY:AN:NY.ANID:85QoHIBq1じゃなく、何になって欲しいの?
不具合というなら、期待していた結果もお願いします
0596590
2013/07/10(水) NY:AN:NY.ANID:E8EpK5eU$arg = 5;
$val = !empty($arg) ? $arg : exit('error');
結果 5
これと同じ結果になるように or die を使う例を教えてください。
というか最初の質問とずれてきていますが。。
■ このスレッドは過去ログ倉庫に格納されています