X



PHP質問・雑談スレ5【初心者お断り(ROM歓迎)】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
垢版 |
2018/10/04(木) 16:43:56.93ID:r0iGnrNs
PHPに関する質問や雑談をするスレです。
初心者お断り(ROM歓迎)と書いてますが、初心者用のスレが用意されているからで、
難しい質問や話題をしなければいけないわけではありません。
PHPマニュアルの読み方を概ね理解していて、関数リファレンスが正しく読める方用のスレです。

PHP未導入の方や、手取り足取りが必要な初心者の方はム板のくだスレへどうぞ。
https://mevius.5ch.net/tech/ (【PHP】で板内を検索)

前スレ
https://medaka.5ch.net/test/read.cgi/php/1498653249/

その他リンク
・PHPマニュアル
 https://secure.php.net/manual/ja/index.php
・コードテスト・貼り付け用
 https://ideone.com/
・プログラミングのお題スレ (求PHPer参戦)
 https://mevius.5ch.net/test/read.cgi/tech/1538096947/

このスレで扱う話題
・PHPのコード,設定や設定値に関する質問
・常識的範囲内でのコードレビュー依頼・改良相談
・PECL,PEARに関する質問
・PHP新機能やPHP関連トレンドの話題
 (FWや非公式ライブラリの話題や特徴比較は良いが使い方から先の話題は専スレへ)
・PHPのバグ発見報告・公式に報告する前の検証依頼

このスレで扱わない話題
・直接関係ない○○特有の質問(専スレへ)
 (HH,エディタ,IDE,サーバ,OS,DB,SQL,FW,テンプレート,非公式ライブラリ・アプリケーション等)
・PHPの改造
0378nobodyさん
垢版 |
2018/12/29(土) 16:03:50.33ID:???
知り合いの鯖缶やってるのがWPに親殺された勢いでWPを嫌ってるけど
WPでブログやってアフィで稼ぐみたいな安易な輩が増えまくってるんだってな

IQ80以下じゃないのか?ってレベルのやつやHTNLも全くできないレベルのじじいが
サポートに連絡しまくってくるんだと
0379nobodyさん
垢版 |
2018/12/29(土) 16:07:12.57ID:???
HTNLとかありそうでないワード出されると不安になる
0380nobodyさん
垢版 |
2018/12/29(土) 16:07:38.18ID:???
あとIQって全く役にたたない指標だぞ
0382nobodyさん
垢版 |
2018/12/29(土) 16:54:25.46ID:???
全く話が噛み合ってなくて笑う
0383nobodyさん
垢版 |
2018/12/29(土) 16:54:26.32ID:???
>>378は10年ぐらい前からやってきたのか?
0384nobodyさん
垢版 |
2018/12/29(土) 17:02:16.63ID:???
>>380
知的障害の指標として今でも普通に使われてるけどね

IQ70未満が知的障害
80だと疑い高めの境目ってとこだからバカの例えとしてはいい線ついてる
0385nobodyさん
垢版 |
2018/12/29(土) 17:09:30.59ID:???
PHPのフレームワークって何がいいの?
0386nobodyさん
垢版 |
2018/12/29(土) 17:12:00.90ID:???
過去のcake資源引き継ぐとか理由ない限りLaravelでok
0387nobodyさん
垢版 |
2018/12/29(土) 17:17:53.66ID:???
>>383
ブログでアフィ自体は大昔からあったが
ここ最近流行?のパターンは、スキルの全くない人間が情報商材みたいなのに騙されて自分にもできると勘違いして手を出すんだとよ
だからサポートに来る問い合わせの内容が知的障害者レベルなんじゃね?

>>382
それな
プログラムやるやつにコミュ障が多いって言われる理由がよくわかるわ
0388nobodyさん
垢版 |
2018/12/29(土) 17:28:19.81ID:???
問い合わせのサポート対応できる人は尊敬する

俺なら
んなもん人から教わるようなもんじゃねぇんだから
ググればすぐ分かる事を他人に聞いてる時点でセンスねぇよ
やめちまえ
とか言いそうw
0390nobodyさん
垢版 |
2018/12/30(日) 06:29:19.57ID:???
WordPressなんてブログツールとしか思ってないし
使わないから全く興味ないから、ニュースになっててもスルーだわ
0391nobodyさん
垢版 |
2018/12/30(日) 08:07:37.65ID:???
JVNの脆弱性レポートが偏ってるのは
ベンダーが掲載を許可するという大前提があるからだ
掲載されてないだけでサイボウズやWPが特別多いわけじゃない
0392nobodyさん
垢版 |
2018/12/30(日) 17:33:29.19ID:???
Linux難しいぉ
リポジトリみたら5.4だったからしょうがないからソースからいれたんだけど
#!/usr/local/bin/phpとかよく見るしそこに狙ったつもりが
/usr/local/bin/php/bin/phpにインストールされてるw
0393nobodyさん
垢版 |
2018/12/30(日) 21:13:21.85ID:???
狙ったところに直接インストールするんじゃなくて
バージョン管理しやすいところにインストールして
シンボリックリンクを張るんだよ
そうすればバージョンの切り替えも簡単だから

Apacheとかも一緒
0394nobodyさん
垢版 |
2018/12/30(日) 21:37:09.54ID:???
どうせCentOS7だろうから素直にremiのやつ入れとけ
0395nobodyさん
垢版 |
2018/12/31(月) 17:28:38.17ID:???
今日でPHP5.6≒PHP5.xのサポート終了か
7にしても5時代となんもコードは変わってないけど
そろそろナウでヤングでイケてるPHP7のコードかけるようにしないとな!
0396nobodyさん
垢版 |
2018/12/31(月) 17:58:40.74ID:???
そーなのけ
Hackとかどーなるん?
0397nobodyさん
垢版 |
2018/12/31(月) 23:19:44.76ID:???
HackはPHPとほぼ同じシンタックスってだけで中身はほぼ別物じゃないの?
2週間前に3.30が出たみたいだしGithubみても更新は活発に見えるし心配はいらんかと
0398nobodyさん
垢版 |
2019/01/01(火) 12:09:42.01ID:???
HackのPHP5サポートはすでに終了していて
PHP7の機能も積極的には取り入れないとのこと
PHPはこれからもHackの成果を取り入れるだろうから
HackからPHPへの移行は簡単だろうがその逆は大変になるだろう
0399nobodyさん
垢版 |
2019/01/01(火) 21:44:26.86ID:???
最近SQLiteでなんかバグあったような気がするけど、
phpinfo見てるとライブラリのバージョンが3.7.17でちょっと不安。
これバージョンアップ出来ない?
0400nobodyさん
垢版 |
2019/01/02(水) 01:42:08.44ID:???
RHEL7かCentOS7か?
そもそもPHPの sqlite3.so と pdo_sqlite.so は libsqlite3.so (sqliteパッケージ) に依存していてその中身を呼び出してる
更新するなら

1. PHPモジュール sqlite3.so と pdo_sqlite.so を新しいバージョンのsqliteを静的リンクするようにビルドして入れ替える
2. システムの libsqlite3.so を新しいバージョンのsqliteをビルドしたものに差し替える

のどちらかになるわけだがぶっちゃけRed Hatがバグレポ受けた上でwon't fixなら大概大きな問題はなかろうし費用対効果考えたらやってらんねー
それにsqliteはyumとかのコアパッケージが依存しているから切り戻せるかどうか怪しいバージョンアップは危険過ぎる
0401nobodyさん
垢版 |
2019/01/02(水) 07:21:54.60ID:???
>>400
とてもいい情報ありがとう。
ちょっと試してみる。
0402nobodyさん
垢版 |
2019/01/02(水) 19:15:49.36ID:???
その論理だと何一つ更新できなくなりそうだな
0403nobodyさん
垢版 |
2019/01/03(木) 17:26:28.07ID:???
セキュリティの勉強をしているのですが、CSRF対策で使用するトークンは、【入力】→【確認】→【実行】の場合、どのタイミングで生成するのが一般的ですか?
IPAの安全なウェブアプリケーションの作り方や、徳丸浩さんの参考書も見ているのですが、難しいです。
詳しい方、アドバイスをください。
よろしくお願いします。
0404nobodyさん
垢版 |
2019/01/03(木) 21:25:10.36ID:???
入力-確認を経ないでいきなり実行が出来る場合は実行時に
入力-確認-実行と遷移してきたのを保証(改ざん検出)する場合は全てに
0405nobodyさん
垢版 |
2019/01/03(木) 23:17:39.05ID:???
最近増えてるけどCSRFでパスワード再入力求めるとこってユーザビリティ悪すぎだよな
0406nobodyさん
垢版 |
2019/01/04(金) 06:59:08.91ID:???
ユーザビリティと堅牢性は、相反するのよ
0407nobodyさん
垢版 |
2019/01/04(金) 07:07:33.74ID:???
>>403
俺、詳しくないけど、【確認】だと思うよ
0408403
垢版 |
2019/01/04(金) 09:47:18.57ID:???
>>404さん
>>407さん
アドバイスありがとございます。
日付が変わってしまい、申し訳ありません。
いただいた助言を踏まえて学習を続けます。
ありがとうございました。
0409nobodyさん
垢版 |
2019/01/04(金) 11:27:21.49ID:???
基本は重要な操作をする前の画面でトークン入れて、次の重要な操作で突き合わせる。
例えば、情報を編集する カートに入れる 決済する といったもの。

一番重要な最後の決済だけでやればいいと、カートに入れるに対策をしなかった場合、
よそのサイトでカートに詰め込められたあと、
カートに入れてる品物を確認せず、気づかずに決済を実行してしまうケースも考えられる。
またここで気づいたとしても、覚えのない物を買わされそうになったという不信感が生まれる。
ということで実害は少なくても、カートに入れるにも対策をするべき。
という感じで、どこに必要かを考えてみるといい。

入力→確認画面→実行で考えると、
入力をCSRFで受け付けてしまっても、確認画面に行くだけで攻撃に有効性はないが、
よそからのリクエストを受け付けてしまうことが、脆弱性を生むそもそもの原因なので、
実害はなくてもトークンがなければ全ての画面でリクエストを受け付けないと、
全画面に入れるのも全然あり。
0410403
垢版 |
2019/01/04(金) 12:10:28.94ID:???
>>409さん
実装によって必要な箇所が変わるのですね。
わかりやすい例えをありがとうございます。
0411nobodyさん
垢版 |
2019/01/05(土) 10:59:03.42ID:???
そもそもの話
CSRF対策用のトークンは出力の際に自動で付与するようにし
チェック処理も自動でやるようにしないと
駄目だと思う

XSS対策なんかもそうだけど
こういう事にいちいち人の手を入れる余地があると
必ずミスが発生する

要するにフレームワークに任せなさいってこと

勉強のために自前で実装したいならトークンは
output_add_rewrite_var()
を使って自動付与してチェック処理内に
そのトークンを必ずチェックするような処理を加えればいい

トークンはセッションIDに何らかの種を加えたハッシュ値を使うのが楽

そこまで手間ではない
https://qiita.com/mpyw/items/8f8989f8575159ce95fc
この例を output_add_rewrite_var() を使って
トークンを自動付与するように改造してみるといい
0412nobodyさん
垢版 |
2019/01/05(土) 11:47:51.01ID:2pasFScb
mktime,gmmktime,strtotimeで9時間遅いタイムスタンプが出力されてしまいます。
time()の値は、正しい今のタイムスタンプが出ます。
ズレが9時間なので標準時からの時差なんだろうと推測していますが、原因、解決策が分かりません。
どの様な所をチェックしてみるべきでしょうか?
0413nobodyさん
垢版 |
2019/01/05(土) 12:05:52.12ID:???
フレームワークに任せなさい(脳死
0414nobodyさん
垢版 |
2019/01/05(土) 12:08:14.76ID:???
>>412
ロケールの設定が適切でないからじゃね
date_default_timezone_set('Asia/Tokyo');
0415nobodyさん
垢版 |
2019/01/05(土) 13:24:00.76ID:X9IhzCOp
>output_add_rewrite_var()
これは知らなかった
テンプレートに明示的に書きたいし
必要性を感じないけどさすがPHPなんでもアリだな
0416412
垢版 |
2019/01/05(土) 14:20:17.55ID:2pasFScb
>>414
ありがとう。
ハマって午前中潰してしまったのが、一発で上手くいったよ。
0417nobodyさん
垢版 |
2019/01/05(土) 15:14:25.56ID:???
初心者みたいな質問だな
0418nobodyさん
垢版 |
2019/01/05(土) 15:23:38.00ID:???
>>413
PHPの生みの親自らがそう言ってるしな
0419403
垢版 |
2019/01/05(土) 16:13:47.44ID:???
>>411さん
アドバイスありがとうございます。
output_add_rewrite_var()は初めて知りました。
フレームワークについては脆弱性をしっかりと理解して、対処方法を学んでから使おうと考えています。
ありがとうございました。
0420nobodyさん
垢版 |
2019/01/05(土) 16:54:07.77ID:???
むしろフレームワークを使わない方が脆弱性が増えると思う
セキュリティは最低限の知識しかないけど、追いかけてたら人生終わるってのはよくわかった
0421nobodyさん
垢版 |
2019/01/05(土) 18:14:57.47ID:???
>フレームワークについては脆弱性をしっかりと理解して、対処方法を学んでから使おうと考えています。
これがプログラマーとしてあるべき姿

>追いかけてたら人生終わる
問題があったときに対処できる幅が広がるから
高級言語やるなら低級言語からやれっていう極論は見たことあるし
時間の無駄だしそれはさすがにないわーって思ったけど
XSSとXSRFとSQL Injectionの3つぐらいは
時間もたいしてかからんしPHPerなら仕組みから知っておくべきだと個人的には思う
0422nobodyさん
垢版 |
2019/01/05(土) 18:24:47.82ID:???
>>421
ちょうどその3つだわ、師匠から教わったの
プリペアードステートメンド、htmlspecail quat〜
とか言ってたな
もう俺はFWに全部任せるけど、FWを避ける派はどうしてんだおるな
0423nobodyさん
垢版 |
2019/01/05(土) 18:42:57.38ID:???
スキルのないやつの

XSS対策した(つもり)
CSRF対策した(つもり)
ほどたちの悪いものない

そんなの全く知りません
と言ってくれた方が100万倍マシ

勉強のために車輪の再発明をする事自体は大いに推奨するが
自分のスキルのなさは自覚してもらわないと困る
0424nobodyさん
垢版 |
2019/01/05(土) 18:54:49.97ID:???
XSS程度のものならFWも度々やらかしてる
一度導入したらアップデートはなかなかされないというのもFWにはありがち
サーバのログ見てもわかるようにある物を導入してるのを前提に攻撃してくるので
オープンソースのものを使うというのは狙われる危険性も増える
FWを使うなら最新情報もちゃんと追うように
0426nobodyさん
垢版 |
2019/01/05(土) 19:02:01.80ID:???
>>423
そうそう
完全に自覚してるし、だからFWに完全に依存
クライアントにも言っているよ、本気でデータ保護やりたいなら別の業者にお願いしますってね
0427nobodyさん
垢版 |
2019/01/05(土) 19:03:49.31ID:???
あらゆる攻撃から守り続けることができるベンダーは本当に羨ましい
0428nobodyさん
垢版 |
2019/01/05(土) 19:04:09.40ID:???
アマグラマーが商売してんじゃねえよ!
適当なもん組んでんじゃねえぞ!オラ!!!!!
0429nobodyさん
垢版 |
2019/01/05(土) 19:04:24.72ID:???
>>411は別に脳死で既存のフレームワークに丸投げしろという意味ではないんだけどね

俺々マイクロフレームワークでもいいから
そういう処理を自動で行うように設計した方がいいってこと

例えばXSS対策なんかは htmlspecialchars() をいちいち通してたらミスが起こるから
テンプレートエンジン側で {{ $var }}のようにすれば
自動でエスケープするようになってるわけだ
人はミスをする生き物だからミスが入り込みにくい設計を考えるのも大事
0430nobodyさん
垢版 |
2019/01/05(土) 19:10:32.70ID:???
どうして誰もがPHPレベルでの整合性を求めるのか,私には分かりません。整合性をとるのはフレームワークの役割です。
フレームワークは問題を解決するための全体的なアプローチを定める場所ですから。
PHPはその下のレベルにあって,ただ低レベルにあるライブラリとか関数とかへのアクセスを提供するだけの存在です。

ラスマス・ラードフの発言な
PHPの立ち位置を理解してないやつが多すぎ
0431nobodyさん
垢版 |
2019/01/05(土) 19:13:16.36ID:???
自動処理は必要のないものにまで処理をすることになるから
FWを使わないような層(≒速度重視)とは思想が相容れないんでないか
0432nobodyさん
垢版 |
2019/01/05(土) 19:13:50.30ID:???
それphpかんけーし
ペチパーって頭悪そうだな
0433nobodyさん
垢版 |
2019/01/05(土) 19:31:32.59ID:???
ところでなぜwordpressは毎回毎回セキュリティアップデートしてるの?
それだけ攻撃される穴があるの?
それとも新たな攻撃方法がみつかってそれに対処してるの?

ということはフレームワークにもいろいろ穴があるわけだよね?
なのにwordpress並にはアップデートしてない
なぜですかい?
0434nobodyさん
垢版 |
2019/01/05(土) 19:41:46.06ID:???
フレームワークを使わない=速度重視ってより
他人の作ったプログラムに囚われたくないんだろう

フレームワークのバージョンアップを適用したら動かなくなったとか
適用したら設定項目が増えてたとか、面倒でしょう?

使ってるフレームワークに脆弱性が見つかったとか言われ
その脆弱性で今まで被害があったのか?とか面倒なこと聞かれたら大変でしょう?
0435nobodyさん
垢版 |
2019/01/05(土) 19:46:13.63ID:???
>>433
高機能だkら山程セキュリティホールがある
他のFWは低機能だからセキュリティホールが少ない

>>434
まぁセキュリティホールをの説明なしにフルスクラッチで作りがる業者や個人は疑ったほうが良い
脆弱性による被害は無い→今後ある可能性がある、そのコスパは非常に悪い
こういうとこまで説明する必要がある
0436nobodyさん
垢版 |
2019/01/05(土) 19:50:26.87ID:???
WPはCMSでFWでない
セキュリティアップデートは利用人数と開発者人数によるとこが大きい
潜在的な問題はほぼ100%どのソフトウェアも抱えている
それが表に出ないだけ
0437nobodyさん
垢版 |
2019/01/05(土) 19:52:31.14ID:???
WPは設計が古すぎる

今だに低レベルなxssが起こってるのは、
テンプレートエンジンを通してないのが理由だし
プラグインで低レベルなxsrfが起ってるのは、
そこの処理がプラグイン開発者に依存してるから

良く言えば自由度が高いと言えるが、
一貫性のある手法を提供しきれてないから、
プラグインで致命的な脆弱性が頻発してる。
この辺りは430の話にも通ずるな

コードレベルでいえばglobal宣言だらけな時点でお察しだし
0439nobodyさん
垢版 |
2019/01/05(土) 19:59:31.49ID:???
まぁwordpressは世界のサイトの3割だかが
これで作られてるってぐらいシェアがあるから
その分攻撃対象になりやすいってのもある

サバのログ見てりゃ分かるが
中国あたりからwordpressの脆弱性をチェックする
ボットが飛びまくってくるからな
0440nobodyさん
垢版 |
2019/01/05(土) 20:04:40.70ID:???
PHPでフレームワーク使う必要なくね?
フレームワーク使うぐらいなら別の言語でよくね?
なんでPHPつかってまでわざわざフレームワークなんて使ってるのか?
俺にはペチパー思考はさーっぱり理解できないわw
0441nobodyさん
垢版 |
2019/01/05(土) 20:22:19.53ID:???
フレームワークを使うのは、既にあるものをわざわざ自分で0から作る必要なくね?ってやつだろう
0442nobodyさん
垢版 |
2019/01/05(土) 20:25:38.22ID:???
>>440はPHP以外にどんな言語ができて
その言語ではどのフレームワーク使ってて
例えばSQLの組み立てはどうやってるのか教えて
0444nobodyさん
垢版 |
2019/01/05(土) 20:49:11.42ID:???
FW使うにもプログラム言語を少しは触る必要があるわけで
PHPが簡単という嘘に惑わされた初心者がPHPから始めてるから仕方ない
最近は充実してるけどもっと早く豊富な日本語ドキュメントにアクセスできれば
圧倒的にPythonが流行っていただろうにな
0445nobodyさん
垢版 |
2019/01/05(土) 21:48:29.31ID:???
>圧倒的にPythonが流行っていただろうにな
無いかなぁ

日本ではHSP、ツクールが流行ってたからな。
なんやかんやでゲームとKAWAIIの国
pythonはないかなぁと思う
pythonメインのDXライブラリみたいなのがあれば流行ってたかもね
0446nobodyさん
垢版 |
2019/01/05(土) 22:31:07.33ID:???
>>443
俺はJava、Swift、Objective-Cとか
古い言語だとPerlも触れるけど>>440みたいな考えは全く理解できないんで
どんな言語でどんな環境だったら440みたいな考えになるのか興味があるので
0448nobodyさん
垢版 |
2019/01/05(土) 22:38:48.79ID:???
FWを使う使わないが速度云々とか
WPとFWの区別も付いてないとか
PHPでFW使う意味が分からないとか
もうね…

このスレに初心者お断りって書いてる意味がないと思うの
0449nobodyさん
垢版 |
2019/01/05(土) 22:44:02.73ID:???
そういやもうwpを長らく触ってるから私は中級者ですっていわれりゃそれはそうだし、
何を持って初心者かだよな
0450nobodyさん
垢版 |
2019/01/06(日) 03:07:57.27ID:???
>>430
前後の肝心なとこ抜くなよ

この発言はPHPの一貫性のなさや批判に対して開き直った発言で
ラードフが初期にあんま深く考えずオレオレライブラリとして作ってたことを示してる
批判に対して整合性が欲しいならフレームワーク使えばいいということに言及したに過ぎず
ラードフ自身フレームワークの遅さを指摘しPHPでは使う必要はないと言っている

Strutsあたりで流行しRoRで完成したMVCが今主流ってだけで(MVVMも流行ってるが)
PHPはそれ以前に流行したHTML埋込み型のWebアプリケーションFWであるというのは知っておけ

>>448
速度重視するならPHP使わないとか言い出すいつものキ○ガイ?
サーバチューニングして半ば強引に最近WPは早くなってきたけれど
肥大化したアプリケーションというのは元々遅くなるもの
FW(特にフルスタック)なんてのはそういうアプリケーションの代表格
0451nobodyさん
垢版 |
2019/01/06(日) 07:59:34.06ID:???
PHPの利点を殺さずMVCでコード書きたいならPhalconかSlimでも使えばいい
LaravelやCakePHPは脳死した人間が使えばいい
0452nobodyさん
垢版 |
2019/01/06(日) 19:14:18.23ID:???
PHPのコードを手っ取り早く早くするには
ZephirでPHPエクステンション書けばいい
WPをPHPエクステンションに移植したら有名になれるよ
0453nobodyさん
垢版 |
2019/01/06(日) 20:35:44.08ID:???
>WPをPHPエクステンションに移植
0455nobodyさん
垢版 |
2019/01/07(月) 14:34:51.01ID:K5PXrPkY
可変引数でうまいバリデーション方法あったら教えて下さい
ルールとしては
・引数の数は3か4である
・$args[0]は1か2か3である
・$args[1]は1-100である
・$args[2]は$args[0]が1か3の場合1-100で$args[0]が2の場合1-10である
・$args[3]は$args[0]が3のもので英数字が入る ただし1文字目は数字はいけない

素直にコードにするとこうなります
function foo(...$args)
{
 $len = count($args);
 switch ($len) {
  case 3:
   if ( ($args[0] === 1) && ($args[1] > 0) && ($args[1] <= 100) && ($args[2] > 0) && ($args[1] <= 100) ) {
    // pass
   } elseif ( ($args[0] === 2) && ($args[1] > 0) && ($args[1] <= 100) && ($args[2] > 0) && ($args[1] <= 10) ) {
    // pass
   }
   break;
  case 4:
   if ( ($args[0] === 3) && ($args[1] > 0) && ($args[1] <= 100) && ($args[2] > 0) && ($args[1] <= 100) && (ctype_alnum($args[2])) && (!ctype_digit($args[2][0]) ) {
    // pass
   }
   break;
 }
}

もうちょっときれいにかけたら書きたいです
これでは見直すたびに鬱になりそうです
0456nobodyさん
垢版 |
2019/01/07(月) 15:11:58.24ID:???
アプリケーションの文字エンコーディングがUTF-8で統一されている時、
<input>要素から送られてくる文字列の文字エンコーディングの検証は必要ですか?
0457nobodyさん
垢版 |
2019/01/07(月) 15:28:34.29ID:???
ルール通りチェックしていけばいいのでは?
0458nobodyさん
垢版 |
2019/01/08(火) 14:12:28.61ID:???
>>455 こういうコード書く奴とは一緒に仕事したくないなと思う
0459nobodyさん
垢版 |
2019/01/08(火) 15:26:51.90ID:???
一緒に仕事したくなるようなコードをぜひ見せてくれ
0460nobodyさん
垢版 |
2019/01/08(火) 16:57:28.15ID:???
引数の数チェックいるか?俺なら最大4つ想定して無視するが
$list($w, $x, $y, $z) = $args;
switch ($w) {
 case 1:
 case 2:
 case 3:
}
でわけたほうがすっきりする

filter_var($x, FILTER_VALIDATE_INT, [
 'options' => [
  'default' => FALSE,
  'min_range' => 1,
  'max_range' => 100
 ]
]);

(function($x) {
 if (is_int($x) && $x > 0 && $x <= 100) return $x;
 else return FALSE;
})($x)

こうしてみると下はシンプルだけど上の方がより直感的でわかりやすいと思う
0461nobodyさん
垢版 |
2019/01/09(水) 13:55:21.64ID:???
バリデーションは本当面倒だよね
なんかいいライブラリない?
0462nobodyさん
垢版 |
2019/01/10(木) 02:56:13.42ID:6vuu0CDC
ヒカキンの年収が10億超え!?明石家さんま・坂上忍も驚愕の総資産とは??
https://logtube.jp/variety/28439
【衝撃】ヒカキンの年収・月収を暴露!広告収入が15億円超え!?
https://nicotubers.com/yutuber/hikakin-nensyu-gessyu/
HIKAKIN(ヒカキン)の年収が14億円!?トップYouTuberになるまでの道のりは?
https://youtuberhyouron.com/hikakinnensyu/
ヒカキンの月収は1億円!読唇術でダウンタウンなうの坂上忍を検証!
https://mitarashi-highland.com/blog/fun/hikakin
なぜか観てしまう!!サバイバル系youtuberまとめ
http://tokyohitori.hatenablog.com/entry/2016/10/01/102830
あのPewDiePieがついに、初心YouTuber向けに「視聴回数」「チャンネル登録者数」を増やすコツを公開!
http://naototube.com/2017/08/14/for-new-youtubers/
27歳で年収8億円 女性ユーチューバー「リリー・シン」の生き方
https://headlines.yahoo.co.jp/article?a=20170802-00017174-forbes-bus_all
1年で何十億円も稼ぐ高収入ユーチューバー世界ランキングトップ10
https://gigazine.net/news/20151016-highest-paid-youtuber-2015/
おもちゃのレビューで年間12億円! 今、話題のYouTuberは6歳の男の子
https://www.businessinsider.jp/post-108355
彼女はいかにして750万人のファンがいるYouTubeスターとなったのか?
https://www.businessinsider.jp/post-242
1億円稼ぐ9歳のYouTuberがすごすぎる……アメリカで話題のEvanTubeHD
https://weekly.ascii.jp/elem/000/000/305/305548/
世界で最も稼ぐユーチューバー、2連覇の首位は年収17億円
https://forbesjapan.com/articles/detail/14474
0464nobodyさん
垢版 |
2019/01/13(日) 15:09:43.72ID:sgx7HV/k
PHPで制御文字を除去する仕組みを学んでいるのですが、肝心の制御文字の送信方法がわかりません。
ツールなどを使わなければ制御文字は送信できないのでしょうか。
詳しい方、アドバイスをください。
よろしくお願いします。
0465nobodyさん
垢版 |
2019/01/15(火) 04:43:46.71ID:???
ADCEBという文字列があるとし、
BとCとDの文字のうち、どの文字が最初に来るのか調べて、
最初に来た文字を変数にしまいたい場合、どのようにするのが
いいでしょうか?

>BとCとDの文字のうち
この部分はAとBを調べたかったり、CとDとEを調べたかったり
可変なのでどう処理すべきか悩んでいます。
0466465
垢版 |
2019/01/15(火) 04:48:29.14ID:???
>>465
言葉足らずだったので補足です。
ADCEBという文字列の中で、「BとCとD」の文字うちどれが最初に来るのか
調べたい、ということです
この例だとDが答えです。
0467nobodyさん
垢版 |
2019/01/15(火) 06:54:56.22ID:???
strposで1個ずつ調べれ
0468nobodyさん
垢版 |
2019/01/15(火) 08:37:32.10ID:???
全部の順序調べたりする必要もなく
最初に見つかったの返すだけならstrposすらいらぬ
$str = 'ADCBE';
$array = ['B', 'C', 'D'];
for ($i = 0; $i < strlen($str); $i++) {
 foreach ($array as $char) {
  if ($str[$i] == $char) {
   echo $char;
   break 2;
  }
 }
}
もうちょいコード短くしたいならforeachのとこはin_array使えばいい
つうか初心者スレ案件
0469nobodyさん
垢版 |
2019/01/15(火) 09:11:11.52ID:???
もう少し綺麗なサンプルコード書いてやれよ・・・
0470nobodyさん
垢版 |
2019/01/15(火) 09:19:41.86ID:???
>>465
ほい

$text = "ADCEB
";
if(preg_match("/([DEF])/",$text,$m))
echo $m[1];


>>468
ダッさwww
0471nobodyさん
垢版 |
2019/01/15(火) 09:37:16.10ID:f4NkL95G
配列作ってfor/foreach回すと遅重くなるよね?
文字列操作のstrposを必要なだけ並べてやった方が速軽いんじゃないかな?
0472465
垢版 |
2019/01/15(火) 12:47:21.77ID:???
みなさんありがとうございます。
>>470さんのものが簡潔なので利用させていただきます。
preg_matchをこう使う方法もあるのですね…驚きです。
ありがとうございました。
0473nobodyさん
垢版 |
2019/01/15(火) 13:50:47.33ID:???
計算量考えたコード書けよ
preg_matchなんて短いだけだからな
0475nobodyさん
垢版 |
2019/01/15(火) 14:57:32.64ID:???
>>465-466の条件でならstrposよりも早そうだけどな
計算量だけがボトルネックじゃないから
例えば最速であろうハッシュマップを参照するのも
array_key_existsみたいな関数使わんといけないし(じゃないとエラー出る)
0476nobodyさん
垢版 |
2019/01/15(火) 15:44:59.10ID:???
$str = 'ADCBE';
$array = ['B', 'C', 'D'];
$pos = strlen($str) + 1;
foreach ($array as $char) {
 if (($idx = strpos($str, $char)) !== false && $idx < $pos) $pos = $idx;
}
if (strlen($str) > $pos) echo "found {$str[$pos]}";

preg_matchのほうがちょっとだけ早い
1文字でいいならpreg_matchのほうがよさそう
0477nobodyさん
垢版 |
2019/01/15(火) 15:53:20.80ID:???
preg_matchでパフォーマンスも読みやすさも十分だろうに
■ このスレッドは過去ログ倉庫に格納されています

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