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の改造
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でパフォーマンスも読みやすさも十分だろうに
0478nobodyさん
垢版 |
2019/01/15(火) 16:11:43.34ID:???
複雑なバリデーション以外に正規表現は使うべきでない
それも正規表現以外には手がないという最後の最後
1文字チェックに使ってたら笑うわ
>if (($idx = strpos($str, $char)) !== false && $idx < $pos)
if (($idx = strpos($str, $char)) < $pos)
でいいしこれでpreg_matchなんてぶっちぎれるだろ
0479nobodyさん
垢版 |
2019/01/15(火) 16:18:24.79ID:???
あーあかんわw0になるか
0480nobodyさん
垢版 |
2019/01/15(火) 16:22:07.92ID:???
>>478
なんか速そうに見えるだけのコードよりも
ライブラリ内で爆速で動く方がそりゃ速いよ
0481nobodyさん
垢版 |
2019/01/15(火) 16:49:00.41ID:???
>>476 逆
$str = str_split($str);
$array = implode('', $array);
foreach ($str as $char)
 if (strpos($array, $char) !== false)
  return $char;
0482nobodyさん
垢版 |
2019/01/15(火) 17:11:28.28ID:???
先頭のほうで見つかる保証がないのならあんまよくない。
0483nobodyさん
垢版 |
2019/01/15(火) 17:17:00.66ID:???
>>481
面白いけど、まだ遅いね

サービスで$strと$arrayの生成をループの外に置いても
実測でpreg_match版の1.5倍くらい遅い
0484nobodyさん
垢版 |
2019/01/15(火) 18:05:36.58ID:???
iconv_strlen()ってmb_strlen()と何が違うんや・・・
0485nobodyさん
垢版 |
2019/01/15(火) 18:09:20.42ID:???
array_intersectとか使う方法を思い浮かんだが
コードは短くてもどう考えてもおせえな
0486nobodyさん
垢版 |
2019/01/15(火) 18:15:56.38ID:???
>>483
自分の環境だとpreg_matchより倍ぐらい速かったよ

GoogleCloud GAE PHP5.5の環境で1000回実行したときの時間

preg_match 1.7ミリ秒
strpos 0.8ミリ秒

ちなみに配列ブン回すロジックは1.9ミリ秒だった
0487nobodyさん
垢版 |
2019/01/15(火) 19:04:03.55ID:???
468、476、481 はプログラマの適正なし!
ふつうのコードは470だろ

計算量?速度?そんなの元の質問にねーよw
0488nobodyさん
垢版 |
2019/01/15(火) 19:24:28.18ID:???
>>487
言われなくても考慮するのがプログラマってもんだろ
0489nobodyさん
垢版 |
2019/01/15(火) 19:27:44.79ID:???
ユーザビリティに影響するなら考慮するけど、
>>486にもあるように0.0008秒の差でしょ。それ考慮して何かあるのけ
0490nobodyさん
垢版 |
2019/01/15(火) 19:35:52.02ID:???
正規表現は荒れるからやめろよ
>>468はとても説明的で初心者向けだと思うがな
0491nobodyさん
垢版 |
2019/01/15(火) 19:38:56.04ID:???
>>489
この測定はあくまでも5文字から3文字分の先頭を求めるロジックの測定
質問者が例題でそうしただけでとんでもない容量のデータを対象にした場合は結果も変わってくるでしょう
preg_matchはレングスによっては動作しなくなるみたいだし
0492nobodyさん
垢版 |
2019/01/15(火) 19:42:28.45ID:???
>>487
速度の話になって対比で書いただけだから
ま、実際strpos使って正規表現は使わんけどね
0493nobodyさん
垢版 |
2019/01/15(火) 19:45:58.29ID:???
単純検索や置換で正規表現止めとけは分かるけどこの内容なら普通に正規表現でいいわ
0494nobodyさん
垢版 |
2019/01/15(火) 20:00:22.08ID:???
/[DEF]/
$m[0]
でいいだろ
グルーピングする理由がない
0495nobodyさん
垢版 |
2019/01/15(火) 20:47:02.48ID:???
>>491
>preg_matchはレングスによっては動作しなくなるみたいだし
これマジ? どのくらいから動作しなくなるの?
ちょっとソース教えてクレメンス
0496nobodyさん
垢版 |
2019/01/15(火) 20:48:01.39ID:???
>>491
100回でも0.1秒差だぞ
>>465の処理をそんなにループさせる場面を想定してるの?w
それともこんな変な処理ばっかり押し付けられてるの?
0497nobodyさん
垢版 |
2019/01/15(火) 20:57:48.60ID:???
>>496
一回では測定出来ないから1000回の時間で比較しただけだよ
0498nobodyさん
垢版 |
2019/01/15(火) 21:03:03.45ID:???
>>495
気になったので試してみた

4億8000万文字でも大丈夫だった
$text = str_repeat ( 'D' , 480000000 );
if(preg_match("/([DEF])/",$text,$m)) echo $m[1];

4億8000万文字はphpがエラーになった。
$text = str_repeat ( 'D' , 490000000 );

制限無いと思う

>>491
嘘つきは朝鮮人の始まりだぞ
0499nobodyさん
垢版 |
2019/01/15(火) 21:13:53.13ID:???
>>487
ペチパーってレベル低いな
そのまま解こうとしててバカみたいだわ
>>465の要件がおかしいんだからそれを直せよ
0501nobodyさん
垢版 |
2019/01/15(火) 21:53:16.83ID:???
単純な文字列検索は配列でもstrposのほうが安全
0502nobodyさん
垢版 |
2019/01/15(火) 22:02:33.99ID:???
if (preg_match('/[DEF]/', $text, $matches)) {
// $matches[0] <-
}

って書いといてパフォーマンスが気になるなら計測してから直す
最初からパフォーマンスが―ってのは無能
0503nobodyさん
垢版 |
2019/01/15(火) 22:10:31.76ID:???
>>470はきれいなサンプルコード書いてやれよに呼応して出したんだろ
JavaScriptの小技的なサイトにのってそうな初心者受けしそうなコードじゃないか
質問者も満足して帰ったんだしそれでええだろう
0504nobodyさん
垢版 |
2019/01/15(火) 22:14:02.02ID:???
初心者が満足するのが基準とか頭おかしい
0505nobodyさん
垢版 |
2019/01/15(火) 22:31:44.22ID:???
スレ的にはトリッキーでも面白いコードをみたいところだが
そんなコードが出てきても
速度 読みやすさ コードの長さ どれかに欠点もっててボロクソ叩かれる運命
0507nobodyさん
垢版 |
2019/01/16(水) 08:54:50.45ID:???
>>506
動かなかったのは仕様をちゃんと読まなかった私の責任です
と書いてあるね
0508nobodyさん
垢版 |
2019/01/16(水) 09:10:51.60ID:???
>>507
質問者はpreg_match使うって言ってたからこの辺のリスクも知ってもらわないといけない
0509nobodyさん
垢版 |
2019/01/16(水) 09:18:03.82ID:???
/[DEF]/とかバックトラックも再帰もスタックもO(1)だろ
0510nobodyさん
垢版 |
2019/01/16(水) 09:57:54.92ID:???
>>499の言う通り
どうせ実際の用途は違うんだろ
0511nobodyさん
垢版 |
2019/01/17(木) 04:20:44.82ID:???
正規表現のほうが改修ラクだしいいだろ
文字一文字じゃなく文字列になった場合でもちょっと変えるだけで済むし
0512nobodyさん
垢版 |
2019/01/17(木) 18:21:04.09ID:???
改修が楽なわけないじゃん
strposなら配列に文字列のリスト突っ込むだけに対して
正規表現は何するつもりだ?orでつなぐのか?アホくさw
0513nobodyさん
垢版 |
2019/01/17(木) 18:28:26.13ID:???
正規表現はどうしても荒れるね
>>512みたいな低レベルが自覚せずにしゃしゃりでてくる
0514nobodyさん
垢版 |
2019/01/17(木) 20:18:38.54ID:???
>>513
じゃ答えてみろよ
まさかただの文字列検索にpreg_matchで配列渡すとか愉快なこというんじゃないだろうな?
0515nobodyさん
垢版 |
2019/01/17(木) 20:54:23.21ID:???
>>514
その前に君の意見をどうぞ
随分と高尚なのでそれに見合った意見があるのだろう
別にコードで書かなくてもいいぞ
0516nobodyさん
垢版 |
2019/01/17(木) 21:06:21.16ID:???
正規表現に変数突っ込むのはあかんのか?

<?php
$text = "ADCEB";
$match = "DEF"
if(preg_match("/([".$match.""])/",$text,$m))
echo $m[1];
0517nobodyさん
垢版 |
2019/01/17(木) 21:27:57.19ID:???
>>515
>>512で答えてんだろうが
理解出来ない雑魚は引っ込んでろよ
0519nobodyさん
垢版 |
2019/01/17(木) 21:56:23.98ID:???
3日間も大盛り上がりしてるから仕切り直してみよう

"PHPに関する質問や雑談をするスレです。" *1
この文字列において、
("PHP","質問","雑談") *2
の単語のうち最初に出てくる単語を返しなさい

実際の運用において*1の文字列は大変長いものであり、
*2の単語や数は変わりうるものとし、
実行速度を考慮した上で最適なコードを述べよ

ファイッ
0520nobodyさん
垢版 |
2019/01/17(木) 21:58:31.10ID:???
>>519
大変長いってのはマジでやめてw
保守性だけに笑点しぼってほしい
0521nobodyさん
垢版 |
2019/01/17(木) 21:58:43.42ID:???
ああ、スマン
複数の文字列から検索ってのに脳内変換してた
$match = ["DEF", "CEB"];
foreach ($match as $var)
 if (strpos($text, $var) !== false) //match

アホくさと言ったコード↓
$match = implode("|", $match);
if (preg_match("/(".$match.")/", $text)) //match

>>516見て>>511の言いたいことは理解した
preg_match("/(".$match.")/", $text)って言いたかったのね
ただそれだとpreg_match使う意味が全くないし
strposに比べて改修楽って主張も全く意味わからんけど
0522nobodyさん
垢版 |
2019/01/17(木) 22:02:31.77ID:???
>>512
| を知らんのか?正規表現を知らない初心者かよ
0523512=521
垢版 |
2019/01/17(木) 22:04:12.70ID:???
>>522
こいつ殴っていい?
orと|が別物とか言っちゃうの?
0524nobodyさん
垢版 |
2019/01/17(木) 22:11:04.41ID:???
>>519
$pdo = new PDO("sqlite::memory:");
以下略
0525nobodyさん
垢版 |
2019/01/17(木) 22:59:48.71ID:???
<?php
$text = "PHPに関する質問や雑談をするスレです。" ;
$match = ["質問","雑談"];
$boolean = strpos($text,$match);
if($boolean){
var_dump($boolean );
}


これあかんのか
0526nobodyさん
垢版 |
2019/01/17(木) 23:24:57.11ID:???
strposにとって0はtrueだから
0527nobodyさん
垢版 |
2019/01/17(木) 23:29:45.83ID:???
strposに配列渡せるのは知らんかったわ
うえのほうでforeachで回してるもんだからてっきりそういうもんかと
オーバーロードはマニュアル分けてほしいわややこしい
0528nobodyさん
垢版 |
2019/01/17(木) 23:44:33.27ID:???
上のは要件が違うからね
0529nobodyさん
垢版 |
2019/01/17(木) 23:52:22.21ID:???
クライアントが使っているレンタルサーバーが全部5系で絶望中
7系に対応してないサーバーや、7.0系にしか対応してないサーバーが多い

5系でも5.6系じゃなくて5.1系とか5.3系とかとっくに死んでるのも多い
5.1系でWP4系を動かしてる無茶なサイトもあるし

そもそも互換性がないから安易に7系に移行できない
セキュリティーサポート終了は知らなかったことにしたい
あるいはガッツリ金と時間を取って対応したい
0530nobodyさん
垢版 |
2019/01/18(金) 00:29:58.57ID:???
クライアントからクレーム来た
アルファメールのphpバージョンが5.4→7.0
どっちにしてもセキュリティ的に問題があるだろってさ
知らんがな、それ選んだのは君だろう
0531nobodyさん
垢版 |
2019/01/18(金) 00:32:17.89ID:???
>>529
うおっとすごい奇遇だね
なんか流行りでもあるのかね。スパムメールで営業でもしているのだろうか
とりあえず金とって対応スべきだとは思う
これはハイハイといっていい案件ではないわ
0532nobodyさん
垢版 |
2019/01/18(金) 00:45:00.02ID:???
array()とかcreate_functionとか書かなきゃいけないサーバは勘弁してほしいわ
0533nobodyさん
垢版 |
2019/01/18(金) 07:37:29.32ID:???
>>531
金と時間の話も絶望的だが仮に金と時間が取れたとしても
全てのクライアントのサーバー引っ越し作業が必要になる絶望感
0534nobodyさん
垢版 |
2019/01/18(金) 08:55:47.80ID:???
>>529
うるせーぞ
保守案件とはいえ いまだに4.4使ってんだこっちは
■ このスレッドは過去ログ倉庫に格納されています

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