PHP質問・雑談スレ6【初心者お断り(ROM歓迎)】
: nobodyさん [] 2019/05/12(日) 18:21:04.82:Bj6LHkP3 PHPに関する質問や雑談をするスレです。 初心者お断り(ROM歓迎)と書いてますが、初心者用のスレが用意されているからで、 難しい質問や話題をしなければいけないわけではありません。 PHPマニュアルの読み方を概ね理解していて、関数リファレンスが正しく読める方用のスレです。 PHP未導入の方や、手取り足取りが必要な初心者の方はム板のくだスレへどうぞ。 ttps://mevius.5ch.net/tech/ ">ttps://mevius.5ch.net/tech/ (【PHP】で板内を検索) 前スレ ttps://medaka.5ch.net/test/read.cgi/php/1538639036/ その他リンク ・PHPマニュアル ・コードテスト・貼り付け用 ttp://https://ideone.com/ ・プログラミングのお題スレ (求PHPer参戦) ttps://mevius.5ch.net/tech/ ">ttps://mevius.5ch.net/tech/ (お題スレで板内を検索) このスレで扱う話題 ・PHPのコード,設定や設定値に関する質問 ・常識的範囲内でのコードレビュー依頼・改良相談 ・PECL,PEARに関する質問 ・PHP新機能やPHP関連トレンドの話題 (FWや非公式ライブラリの話題や特徴比較は良いが使い方から先の話題は専スレへ) ・PHPのバグ発見報告・公式に報告する前の検証依頼 このスレで扱わない話題 ・直接関係ない○○特有の質問(専スレへ) (HH,エディタ,IDE,サーバ,OS,DB,SQL,FW,テンプレート,非公式ライブラリ・アプリケーション等) ・PHPの改造 : nobodyさん [sage] 2020/01/03(金) 18:30:41.94ID:??? ↑ttps://mevius.5ch.net/test/read.cgi/tech/1404007623/ : nobodyさん [] 2020/01/23(木) 00:51:35.57:B6IkrdgX 誤訳直そうと思ったらログインがうんぬんメーリスがうんうん言われて面倒だったんで ttp://https://www.php.net/manual/ja/function.curl-getinfo.php の CURLINFO_FILETIME 編集権があってヒマな人誰か直しといてもらえませんか : nobodyさん [sage] 2020/01/23(木) 17:22:55.09ID:??? >ドキュメントを取得するのにかかった時間 草 : nobodyさん [sage] 2020/01/27(月) 14:16:21.90ID:??? ググればだいたい解決するから5chの出番はないな というかこういう実用系の内容では5chは要らない : nobodyさん [sage] 2020/01/27(月) 14:35:37.95ID:??? つーかPHPの公式ドキュメントって 数多のP系スクリプトの中でも他の追随を許さない質と量だよね 言語自体スパゲティだのなんだの言われてるけど そんなのを軽くチャラにするくらい丁寧で充実してる : nobodyさん [] 2020/01/31(金) 21:19:14.19:B6GJJFqv 実にペチパらしい見解やね : nobodyさん [sage] 2020/02/24(月) 22:48:25.17ID:??? 今からPHP勉強してフリーランスデビュー目指して頑張ります ちな中卒30代プログラミング未経験 : nobodyさん [age] 2020/04/08(水) 01:28:35.27ID:??? 徳丸ひさびさに見たけど白髪増えてだいぶ老けたなぁ(´・ω・`) 相変わらずのPHPびいきなようで安心。 彼がいる限りまだまだ日本でのPHPは終わらんよ( ー`дー´)キリッ : nobodyさん [sage] 2020/04/10(金) 14:39:58.81ID:??? とくさんか? : nobodyさん [sage] 2020/04/13(月) 18:02:28.11ID:??? IDとパスワードのログイン方式でなく 電子証明書方式のログインサイトを作ってみたいのですが 具体的にはどうしたらいいんですかね? : nobodyさん [sage] 2020/04/13(月) 18:08:22.16ID:??? 実績ある人に頼むといいよ。 : nobodyさん [] 2020/04/13(月) 18:26:22.68:OHT1Xple 素人が作ったら電子証明書使ってても穴あきそうだな 実績あるプロに任せろ : nobodyさん [sage] 2020/04/16(木) 12:59:09.04ID:??? こんなとこで質問するレベルのやつが作って良いものではないw : nobodyさん [sage] 2020/04/16(木) 16:57:17.08ID:??? 結局誰も具体的には知らないんだろ : nobodyさん [sage] 2020/04/16(木) 17:37:35.65ID:??? そりゃ、ここの話題じゃないからな。 ヒント出してるだけマシだろ。 : nobodyさん [] 2020/04/16(木) 17:58:15.14:R+e9Gx7F …まさか5ちゃんに書いて答えもらえるとマジで思ってたのか? : nobodyさん [sage] 2020/04/16(木) 18:41:49.02ID:??? ほれ ttp://https://stackoverflow.com/questions/12617150/how-to-check-a-digital-signature-from-broswer-with-php : nobodyさん [sage] 2020/04/16(木) 19:12:59.32ID:??? おぃ!w : 無職のADHDが◯千万円分のビットコイン所持 [] 2020/04/27(月) 14:38:56.38:/VE0k4dm 東京三鷹の土井(剛)莉里子 ttps://i.imgur.com/Fbgp0yG.png 氏名■土井剛(莉里子) 生年月日■1994.3.7 前住所■〒181-0013 東京都三鷹市下連雀5丁目3 シティハイツ吉祥寺通り4階 性別■男(詐欺師のため、戸籍変更している可能性あり) Twitter■@copy__writing @kotobamemo_bot 疾患■性同一性障害(LGBT)、発達障害(ADHD)、アスペルガー症候群、統合失調症 ●一方的に好意を寄せる男性から相手にされないと嫌がらせを繰り返す ●某大学病院の精神科隔離病棟にて強制入院 ●骨が見えるほどのリストカット ●奇声をあげながら自室部屋のドアをナイフで突き刺す ●シティハイツ吉祥寺通り4階から飛び降り自殺 ●性転換手術(金玉を取る) ●トラブル...嫌がらせ、ハッキング、乗っ取り、たかり、脅迫、殺害予告...etc ●去年から今年にかけてyoutuber同士のトラブルの仲介に入り某大手youtuberから複数回に渡り1億近い慰謝料をふんだくる ●自宅の吉祥寺にいられなくなり、大阪に潜伏中(警察からも逃げている) : nobodyさん [sage] 2020/04/29(水) 21:45:14.63ID:??? test : nobodyさん [sage] 2020/05/04(月) 02:20:48.69ID:??? 追記型の最新のログ10件を表示するために長めのログをfgetsで キューに10個いれてそれ以上あれば破棄していくという感じで $queue = array(); while (!feof($fp)) { array_unshift($queue, fgets($fp)); if (count($queue) > 10) array_pop($queue); } というようなコード考えたんですけど 初期値falseの$overflow変数を儲けて if ($overflow || count($queue) > 10) { array_pop($queue); $overflow = true; } のようにしたら$overflowがtrueの時点で countのところには行かないで認識あってますか? $overflow = trueよりcountのほうが遅いはずなので php5系使ってて配列操作は遅いので改善ポイントとして考えてます : nobodyさん [] 2020/05/05(火) 04:07:27.95:n9pskbg5 count()の実行回数を減らしても大して違いは無いと思うけどなぁ。 それより1行ずつ配列に入れるのをやめてfile()で一気に読み込んでから、array_slice()で最後の10行を残して、array_reverse()で反転させる方が早くないか? 遅いのはログの行数が多いからだと思うけど、あまり多いとfile()じゃメモリ消費も気になってくるけどね。 その場合はログのサイズを小さくすることを考える必要がある。デイリーベースにするとか。 : nobodyさん [sage] 2020/05/06(水) 00:15:56.98ID:??? キュー使うなら配列よりSplQueue使ったらええんちゃう 実装見たわけじゃないけど常識的にcountはO(1)だし多分内部のカウンタ見てるだけだから遅いってことはない ログを頭から読んでいって末尾10件を抽出するのが遅いって(O(N))のなら最新数件だけ別ファイルにする(O(1))かDB使った方(O(log(N)))がいい : 220 [sage] 2020/05/06(水) 16:48:14.29ID:??? レスありがとうございました。なんか溜まってるログがないかと探して、 まだまだ少ないですが、6MB 3万行強ぐらいので試してみました。 結果countに関してはお二方のおっしゃる通り影響はないようです。 10回計測して、(ローカルの計測環境でPHP7なんですが) file avg: 0.02795 配列Queue() avg: 0.04602 SplQueue avg: 0.04344 キュー型にしない(最後の取り出す処理で若干こんがらがる) avg: 0.02981 といった感じになりました。3万行なら余裕ですが、fileはやっぱりメモリ食べますね。 最後のコードは、 $disp_num = 10 + 1; $bucket = array_fill(0, $disp_num, null); $pointer = 0; while (!feof($fp)) { $bucket[$pointer%$disp_num] = fgets($fp); $pointer++; } のようにしたものです。 配列の順番がぐちゃぐちゃになるので、最後少し苦労しますが配列に入れるだけなのでメモリも速度もいいですね。 (やってて気づいたのですが)+1にしてるのはfopenでfeofまでやると、 最後の空行が入ってしまうようなので+1にしてます。 このせいで、他の配列Queue版もSplQueue版も最後に1回pop処理が必要になったりして、ちょっといまいちな印象です。 fileは最後の空行は無視されていました。 : 220 [sage] 2020/05/06(水) 16:58:19.87ID:??? ごめんなさい、嘘つきました。 よく見たらfileも最後の空行が入ってしまっていました。 : 220 [sage] 2020/05/06(水) 17:13:19.11ID:??? さらにごめんなさい、ベンチで使ったやつはfileのあとにreverseもしてました。 実際はfileだけでログ取得箇所を示す配列のcount入れても、 もっと早くて0.022台〜0.025台です。 : nobodyさん [sage] 2020/05/07(木) 15:05:43.63ID:??? echo "str".$a-$b; PHP Deprecated: The behavior of unparenthesized expressions containing both '.' and '+'/'-' will change in PHP 8: '+'/'-' will take a higher precedence とかいうのが出た もうPHP8の季節なのかー : nobodyさん [] 2020/05/07(木) 15:54:57.14:CF6GEumL file()は全部メモリに乗っけちゃうんだから、ファイルサイズ以上にメモリ消費するわな。 行数の多いファイルを頭から地道に読み込もうとすると、ループ内のほとんどの時間は無駄になっちゃうから、最後の数行だけ取る処理をlastコマンドに任せた方が早いんじゃないか。 いずれにせよログの巨大化回避の枠組みを作ることの方が先決だろう。 : nobodyさん [sage] 2020/05/17(日) 14:17:12.59ID:??? WEBプログラム板けっこう寂れちゃったんだな PHP7のバージョンアップで前バージョン動かなくなったりしたのが良くなかったんじゃ : nobodyさん [sage] 2020/05/17(日) 21:37:36.37ID:??? オワコンとまでは言わないがここを目指す技術者の減少が著しい 今はスマホやゲームから入ってそのままサーバが必要になれば KotlinやらSwiftやらC#で書くみたいな節があるし JSの進化とともに昔みたいにこってこてにサーバサイド書くこともなくなって 本当にデータの受渡しだけになってしまったし 共用サーバはPHPとPerlぐらいしか選択肢がなかったころに流行って PythonとRubyが加わってRoRでモダンなWebFWが完成して VPSやクラウドが登場して選択肢が増えていって PCが廃れスマホが主流になった現在、正直今更PHP?だもんな 寂しいけど俺も今からなら絶対PHPは勧めないよ : nobodyさん [sage] 2020/05/17(日) 22:05:18.66ID:??? 21世紀になったあたりの頃は 「未来はPCからEmbeded(モバイルなんて言葉はまだ無かった)までJAVAで統一されている」 って言われたものだが・・・ : nobodyさん [sage] 2020/05/19(火) 09:40:50.74ID:??? Javaはセキュリティ関連でイメージがすっかり悪くなってしまったからね Javaのインストールしたくないけど仕方なく入れてる人はわりと見る : nobodyさん [sage] 2020/05/20(水) 14:29:00.49ID:??? ライセンスの話もあるしなぁ : nobodyさん [sage] 2020/05/26(火) 08:25:57.65ID:??? ログインしたあとは JSONとMySQLのやり取りだけだもんな サーバー側は得意なのでいいよ : nobodyさん [sage] 2020/05/28(木) 19:20:47.75ID:??? まだそんなこと言ってんの? オラクル製のじゃなきゃ無料で使えるだろ : nobodyさん [sage] 2020/05/29(金) 04:01:42.87ID:??? ライフサイクルが短いから使ってもすぐ上げなきゃいけないとかで実用的でない : nobodyさん [sage] 2020/05/29(金) 08:18:29.83ID:??? 逆に、PHPなら書けるけどSwiftとかC#とか書けない場合、 今から新たに書くプログラムをPHPで書いてもいいのかな?今でも それとも時代に合わせて新たな言語覚えるべき? : nobodyさん [sage] 2020/05/29(金) 13:08:17.63ID:??? イメージが悪くなった, という話の流れなんだがな : nobodyさん [] 2020/05/29(金) 13:39:46.25:lydFJ519 Javaは元々、冗長すぎてまともなプログラマからは嫌われていた。 : nobodyさん [sage] 2020/05/29(金) 21:05:21.63ID:??? JAVAが世界を席巻していた頃は まさか将来毎年のように新言語が 登場するようになるとは夢にも思ってなかった JAVAで世界は統一されると堅く信じていた : nobodyさん [sage] 2020/05/30(土) 05:50:40.83ID:??? PHPで全然かまへんで ただPHPでかけるがSwiftやC#でかけないなんてことはないと思うぞ (Webに限っては)その逆もしかり まあどっちが楽かっていう問題はあるけどね PHPはimportするパッケージ探すとこから始めなくていいことも多いしな : nobodyさん [sage] 2020/05/30(土) 09:57:26.38ID:??? PHPまでしかできない奴はc#は無理な奴かなり多い : nobodyさん [] 2020/05/30(土) 10:15:16.00:yMi4WCg0 動的型付け言語全般がタイプヒントつけるのがしんどい : nobodyさん [sage] 2020/05/30(土) 18:30:15.00ID:??? c#で何をするかによるが 少なくともVSで開発するGUIアプリは htmlとjavascriptの基礎があれば作れるだろう : nobodyさん [sage] 2020/06/07(日) 17:20:59.63ID:??? laravel使っているのですがphpかlaravelで下記のことはどうすればできますか? ページ内のボタンをクリック→データベースのテーブルを作成 : nobodyさん [] 2020/06/07(日) 18:36:46.59:nyi0X8Kp CREATE TABLEとかのDDLは普通はマイグレーションで実行するよな APIで誰でも実行出来るようにするなんて普通はない : nobodyさん [sage] 2020/06/09(火) 00:51:54.04ID:??? 了解しました : nobodyさん [] 2020/06/09(火) 10:29:05.34:gYDT8D4U 企業内閉鎖系ならまだしもネット接続でそんなの開放したらイチコロだな : nobodyさん [sage] 2020/06/16(火) 21:45:02.21ID:??? ちょっとfuel phpの仕様でdoc読んでも見当たらないので教えてほしいんだ。。 fuel/app/config/routes.phpで return array( 'api/hoge' => 'hoge', 'api/hige' => 'hige', 'api/hage' => 'hage', ); ってなってるのを return array( 'api' => array( 'hoge' => 'hoge', 'hige' => 'hige', 'hage' => 'hage', ), ); って出来る? 目的としてはクソみたいに汚くなったルーティングを整理したいからで ソース読んだ限りだと正規表現を利用する書き方的なことをしないと ダメっぽい気がしたんだが一応確証がほしい : nobodyさん [] 2020/06/17(水) 19:37:57.92:v7YjBpxF そんな事より なんでarrayじゃなくて[]で書かないの? : nobodyさん [sage] 2020/06/17(水) 20:34:41.25ID:??? fuelってまだ生きてるの? : nobodyさん [sage] 2020/06/17(水) 22:26:53.04ID:??? 無知乙 グラブルが2019時点でいまだにfuel採用しているし豚みたいなLaravelより軽いし みたいなスクール上がりの馬鹿なカスが寄り付きづらいから割とピンピンしてる : nobodyさん [sage] 2020/06/18(木) 02:51:44.81ID:??? >このスレで扱わない話題 >・直接関係ない○○特有の質問(専スレへ) > (HH,エディタ,IDE,サーバ,OS,DB,SQL,FW,テンプレート,非公式ライブラリ・アプリケーション等) ttps://medaka.5ch.net/test/read.cgi/php/1321843505/ ageて質問したら誰か答えるんじゃね? マイナーなFWしかも5chみたいな人いないとこで質問してんだから 答え返ってこないことは覚悟してくれ : nobodyさん [sage] 2020/06/18(木) 19:20:57.36ID:??? ffmpegコマンドを叩いて変換待ちってのはどんな感じに実装すればいいですか? : nobodyさん [sage] 2020/06/19(金) 09:11:46.17ID:??? 裏でやらせておいて、出来上がったら教える感じで実装する : nobodyさん [sage] 2020/06/19(金) 16:56:07.58ID:??? マルチスレッドとかで並列処理をするかんじですかね? pthreadとかでいいのかな? それでタイムアウト対策とかはどうしたらいいんでしょう? flushとかそのへんを使う感じですか? : nobodyさん [sage] 2020/06/19(金) 19:44:41.02ID:??? バックグラウンドで動く別プログラムをsystem関数で呼ぶとかする タイムアウトも別プログラムに勝手にやらせる : nobodyさん [] 2020/06/19(金) 23:27:50.17:tdau3ufj 最近のフレームワークならキューに入ったジョブを実行するシステムがあるだろう : nobodyさん [sage] 2020/06/20(土) 15:55:01.29ID:??? 申し訳ないが、フレームワークの話はしていない : nobodyさん [sage] 2020/06/23(火) 19:43:14.83ID:??? ffmpeg は処理途中で標準出力するから同期処理は無理じゃねえ。 : nobodyさん [sage] 2020/06/24(水) 20:32:39.92ID:??? 標準出力をファイルに落として、のぞき見 : nobodyさん [] 2020/06/26(金) 16:16:58.83:eYTLvWbv 【日本モデル】 上昌広『第2、3波でしっぺ返し』 ttps://krsw.5ch.net/test/read.cgi/covid19/1592957330/l50 : nobodyさん [sage] 2020/07/13(月) 18:52:44.64ID:??? ttp://https://externals.io/message/110907 そもそもサポートしてるの知らんかったけど、地味に効いてきそう。 : nobodyさん [sage] 2020/07/16(木) 16:53:24.16ID:??? 公式のwindows版PHPってあれMSがビルドしてたのか 野良ビルドよりは安心だけどまあ正直どうでもいいっすねw 公式が書き換えられたりしても気づくことなく 公式にあるってだけでホイホイダウンロードしちまうだろうし : nobodyさん [sage] 2020/07/16(木) 20:48:50.35ID:??? MS、なんでPHP8ビルドしないん(´・ω・`)? : nobodyさん [sage] 2020/07/17(金) 10:01:11.17ID:??? MSがPHPを切ったのではない PHPがMSを捨てたのだ : nobodyさん [sage] 2020/07/18(土) 15:00:25.42ID:??? xamppあたりのチームがコンパイルしそうだな : nobodyさん [] 2020/08/08(土) 14:14:16.21:nc6K0wHz PHPってなんで未だにasync awaitないの? C#、JavaScript、Pythonはあるでしよ Javaは無いみたいだけど コールバック地獄なしで非同期コード書きたい : nobodyさん [sage] 2020/08/09(日) 14:26:12.16ID:??? forkすればいいじゃん なんでいちいち待つの? : nobodyさん [] 2020/08/09(日) 16:04:40.54:YsClk0yI Guzzleのpromiseも curl_multiも知らない男の人って・・・ : nobodyさん [] 2020/08/09(日) 16:26:51.29:YsClk0yI forkって 親プロセスと変数は共有出来ない(子プロセスの変数を変えても親プロセスの方はそのまま) その一方MySQLを使ってると子プロセスが終了時に接続がクローズされる 何も良いことがなさげなんだが 親プロセスと変数が共有できないなら 普通にexecする方がマシじゃね? それだけじゃなく 実行時間が短い処理には プロセス生成はオーバーヘッドが大きすぎる : nobodyさん [sage] 2020/08/11(火) 18:35:30.49ID:??? 「hogeしか出来ない人」 が存在する言語ってもしかしてphpしかなくない? マジで? : nobodyさん [sage] 2020/08/11(火) 23:28:45.65ID:??? 言語の欠点をどうやって補うかって話じゃなくただ言語の欠点をあげつらうだけなら、 普通に他の言語使えば?としか思わんのだが 他の言語使えないというならお前が無能なだけだろうと : nobodyさん [] 2020/08/12(水) 09:11:18.44:13/ox338 PHPはNodeと違ってイベントループがコア機能として組み込まれていないから Guzzleの場合、非同期処理の恩恵を得るには Promiseの配列(またはイテレータ、ジェネレータ)を用意して 適切な場所でそれをwaitしてイベントループを回す必要がある 場面によっては非同期の恩恵を得られない 言語に非同期処理が組み込まれてないのもこの辺が理由か イベントループって、 リクエストの度にプロセスを初期化するPHPの構造と合わなそうだし : nobodyさん [] 2020/09/20(日) 21:22:40.12:tOMGyHJz 質問させてください。 今PHPで3択クイズを作ってます 配列に正解が1つと間違いが2つ入ってます この3つをランダムに表示させて答え合わせしたいのですが やり方がわかりません。先輩方、ご教授お願いします。 : nobodyさん [sage] 2020/09/20(日) 21:37:23.87ID:??? 完全なランダムはPHPでは使用できません。 PHP以外の言語でも完全なランダムは不可能です。 あと30年ほど経てば、利用できる可能性があります。 : nobodyさん [] 2020/09/20(日) 21:47:48.72:acwntdUK お前リアルでもそんなこと言ってんの?w : 274 [] 2020/09/20(日) 23:16:19.67:tOMGyHJz $a[0] = "正解"; $a[1] = "間違い1"; $a[2] = "間違い2"; shuffle($a); ここまでは考えたのですが これをどうやって正解判定するのか 案外難しいですねこれ・・・ : nobodyさん [sage] 2020/09/21(月) 00:47:28.54ID:??? そのレベルならくだスレで聞いたほうが良いと思うけど ttp://https://paiza.io/projects/2brvVhAnwgCQv_90qSgzQg : nobodyさん [sage] 2020/09/21(月) 09:54:08.94ID:??? 正解を別に覚えといてそれと照合すればいいじゃん : 274 [] 2020/09/21(月) 11:05:05.51:UQvPmLSO ありがとうございますた! ちなみにくだスレないです(´;ω;`) : nobodyさん [] 2020/09/23(水) 15:02:54.72:mXlXxqsS file_get_contentsでtwitterを読んでrssにするプログラムが いつの間にか動かなくなっていたので調べたところ、 ツイッターのページがほぼJavaScriptのみになっていてツイートをHTMLとして含まないようになっていました もうtwitter APIを介して取得するしかないのでしょうか? : nobodyさん [] 2020/09/23(水) 15:15:33.56:mXlXxqsS twitterをRSS化するサービスがいくつもあったので、それを使うことにしました 失礼しました : nobodyさん [] 2020/09/26(土) 17:56:16.34:gRsH574I phpで掲示板を作ってます threadテーブルとpostテーブルがあります threadテーブルのカラム ・thread_id(スレッドID) ・time(スレッド作成タイム) ・title(スレッドタイトル) postテーブルのカラム ・thread_id(スレッドID) ・name(投稿者) ・res_no(レスナンバー) スレッド一覧を表示する際、タイトルの横に投稿者を付けたいので、以下のSQLを発行しました sql = "SELECT t.title, p.name FROM thread t JOIN post p ON t.thread_id = p.thread_id WHERE p.res_no = 1 LIMIT 0,10" ※行 0 - 9 の表示 (合計 10, クエリの実行時間: 0.0029 秒。) スレッド作成順にソートしたいため、ORDER BY句を入れると sql = "SELECT t.title, p.name FROM thread t JOIN post p ON t.thread_id = p.thread_id WHERE p.res_no = 1 ORDER BY t.time DESC LIMIT 0,10" ※行 0 - 9 の表示 (合計 10, クエリの実行時間: 0.6489 秒。) と実行時間が大幅に上がってしまいました 実行時間を抑えるためにどうしたら良いですか? : nobodyさん [] 2020/09/26(土) 19:33:49.23:gRsH574I ですがゴニョゴニョしたら解決しました : nobodyさん [] 2020/09/27(日) 14:14:32.94:hc137Dw+ 完全にスレチだったな : nobodyさん [] 2020/10/03(土) 20:06:29.98:VpO2oA58 WSL2のDockerで Windowsのファイルシステム上にあるphpファイルを読ませると 遅すぎて使い物にならない 従来のHyper-Vバックエンドの方がまだマシ ttp://https://github.com/docker/for-win/issues/7719 WSL2のWindowsファイルシステムが遅いせいらしい Unisonで同期すれば速いけどちょっと最初の設定が面倒くさい : nobodyさん [sage] 2020/10/07(水) 14:55:34.60ID:??? 2週間以上前の質問にレスするのもアレだが2次元以上の配列を使えば良いだけでは? $arr = [ 1 => [ 'question' => '昼間の空は何色?', 'choice' => [ 'A' => '青', 'B' => '赤', 'C' => 'ピンク', ], 'correct' => 'A', ], 2 => [ 'question' => 'てめぇの血は何色だぁ?', 'choice' => [ 'A' => '青', 'B' => '赤', 'C' => 'ピンク', ], 'correct' => 'B', ], ]; $qid = array_rand($arr); $question = $arr[$qid]['question']; // 問題 $choice = $arr[$qid]['choice']; // 選択肢 $correct = $arr[$qid]['correct']; // 正解 unset($arr[$qid]); // $qidを何らかの方法で保存しておいて、出題が終わったものは削除すりゃいい : nobodyさん [sage] 2020/10/07(水) 14:57:25.14ID:??? のインデントが消えて見にくいだろから、インデント部分を全角スペースに置き換えたら見やすくなるか? shuffle()は駄目だな 配列のキーがリセットされてしまうから、287みたいな事ができなくなるので $arr = [ 1 => [ 'question' => '昼間の空は何色?', 'choice' => [ 'A' => '青', 'B' => '赤', 'C' => 'ピンク', ], 'correct' => 'A', ], 2 => [ 'question' => 'てめぇの血は何色だぁ?', 'choice' => [ 'A' => '青', 'B' => '赤', 'C' => 'ピンク', ], 'correct' => 'B', ], ]; : nobodyさん [sage] 2020/10/23(金) 00:41:55.69ID:??? windows consoleでfgets(STDIN,4096)で 入力待ちにしたいのですが次に進んでしまって入力待ちになりません この間まで問題なかったのですが proc_openあたりの関数使ってからおかしくなった気がします 設定でも書き換わったのか再起動しましたが直りません 何か修正する方法知ってる方いたら教えて下さい : 289 [sage] 2020/10/23(金) 10:19:05.47ID:??? なんか似たような報告ありました ttp://https://stackoverflow.com/questions/59092779/has-php-7-4-broken-fgetsstdin PHPのバグっぽいですね? ちょうどPHP7.4にしたのでそれのせいだったようです 最新の7.4.11にしたら問題なくなりました : nobodyさん [] 2020/11/21(土) 18:14:41.87:TFRH5PeG テキストファイル保存して適宜読み込もうと思ってる テキストファイルのコンテンツは1行のものもあれば複数行のものもある うまい具合に混在させるにはどういう仕様にしたらいいかな? ぱっとおもいついたのは次のような書式 AAA BBB CCC [multi1] DDD EEE [/multi1] FFF GGG [multi2] HHH III JJJ [/multi2] KKK これより優れた書式ってあると思う? : nobodyさん [sage] 2020/11/21(土) 18:17:24.18ID:??? csv tsv xml json 好きなの選べ : nobodyさん [sage] 2020/11/21(土) 18:35:36.32ID:??? 記述が楽な方がいいなぁ・・・ : nobodyさん [sage] 2020/11/21(土) 18:54:15.51ID:??? ならjson一択 : nobodyさん [sage] 2020/11/21(土) 19:03:55.33ID:??? いくらでもあるが 思ったら既に挙げられてるか : nobodyさん [sage] 2020/11/21(土) 20:13:25.09ID:??? jsonはねぇ・・・ 見やすいことは見やすいんだけど いざ手書きで記述するとなると括弧が結構面倒くさくて : nobodyさん [sage] 2020/11/21(土) 21:04:18.94ID:??? は?なんで手書きすんだよw : nobodyさん [sage] 2020/11/22(日) 15:24:22.67ID:??? 全部単行にして複数行へは実態への参照だけ置くとかもあるね 用途次第かなと : nobodyさん [sage] 2020/11/28(土) 10:32:12.49ID:??? で、PHP8は神ですか?
凡例:
レス番
100 (赤) → 2つ以上レスが付いている
100 (紫) → 1つ以上レスが付いている
名前
名無しさん (青) → sage のレス
名無しさん (緑) → age のレス
ID
ID:xxxxxxx (赤) → 発言が3つ以上のID
ID:xxxxxxx (青) → 発言が2つ以上のID
このページは2ch勢いランキング が作成したキャッシュです。元のページはこちら 。削除についてはこちら 。