PHP質問・雑談スレ 2【初心者お断り(ROM歓迎)】©5ch.io
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん 転載ダメ©2ch.net
2016/10/17(月) 21:44:12.59ID:???初心者お断り(ROM歓迎)と書いてますが、初心者用のスレが用意されているからで、
難しい質問や話題をしなければいけないわけではありません。
PHPマニュアルの読み方を概ね理解していて、関数リファレンスが正しく読める方用のスレです。
PHP未導入の方や、手取り足取りが必要な初心者の方はム板のくだスレへどうぞ。
http://echo.2ch.net/tech/ (【PHP】で板内を検索)
前スレ
http://tamae.2ch.net/test/read.cgi/php/1461283091/
その他リンク
・PHPマニュアル
https://secure.php.net/manual/ja/index.php
・コードテスト・貼り付け用
http://ideone.com/
・プログラミングのお題スレ Part8 (求PHPer参戦)
http://echo.2ch.net/test/read.cgi/tech/1444216746/
このスレで扱う話題
・PHPのコード,設定や設定値に関する質問
・常識的範囲内でのコードレビュー依頼・改良相談
・PECL,PEARに関する質問
・PHP新機能やPHP関連トレンドの話題
(FWや非公式ライブラリの話題や特徴比較は良いが使い方から先の話題は専スレへ)
・PHPのバグ発見報告・公式に報告する前の検証依頼
このスレで扱わない話題
・直接関係ない○○特有の質問(専スレへ)
(HH,エディタ,IDE,サーバ,OS,DB,SQL,FW,テンプレート,非公式ライブラリ・アプリケーション等)
・PHPの改造
0797nobodyさん
2017/01/21(土) 02:15:46.19ID:???https://github.com/php/php-src/blob/master/ext/curl/interface.c
これ読んでから
https://curl.haxx.se/libcurl/c/curl_easy_setopt.html
この辺を見る
0798nobodyさん
2017/01/21(土) 15:57:48.07ID:3TMSiFF1}
→と書く奴の低能率の高さは異常
if (true)
{
}
→と書く奴には有能な奴が多い。
0799nobodyさん
2017/01/21(土) 16:55:26.91ID:7J/ZXd+Hフラットデザインのほうが見やすいと思う方で
Opeta、Firefox、Chromeで拡張機能のStylish入れてる方は
気が向いたら使ってみてください
https://userstyles.org/styles/137945/flat-php-manuals-php
ソースが汚いので、他の方がカスタマイズしやすいように整理する予定です
0801nobodyさん
2017/01/21(土) 19:01:39.43ID:???オレはワンライナーだな。
0802nobodyさん
2017/01/21(土) 19:12:06.25ID:???読んでて陰鬱な気分になる
0805nobodyさん
2017/01/21(土) 21:42:16.74ID:???0806nobodyさん
2017/01/21(土) 22:35:26.24ID:???これでいいな。
ただ、一言いわせてほしい。
適当でも動く。それがこの言語の唯一の世界最高の部分を忘れないでほしい。
0807nobodyさん
2017/01/21(土) 22:43:09.24ID:???PHPで特筆すべきところはelseifのところじゃないか
elseifでもelse ifでもいい
0808nobodyさん
2017/01/21(土) 22:51:48.20ID:???0809nobodyさん
2017/01/21(土) 23:34:06.55ID:???if 〜〜〜 else
if 〜〜〜 ということだったような
結果生成されるアセンブラ的にジャンプ回数が後者のほうが多い=重いとか
0810nobodyさん
2017/01/22(日) 00:17:50.98ID:???}else{
この書き方でelseが窮屈なのと、
if()だと制御構造じゃなくて関数呼び出しみたいに感じるからだわ。
echo ""
print("");
の違いにも言えることだけど。
0811nobodyさん
2017/01/22(日) 00:18:49.55ID:???}
こう書けるのが一番なんだけどね。
0812nobodyさん
2017/01/22(日) 00:22:15.82ID:???ワンライナーにしよう
0813nobodyさん
2017/01/22(日) 08:01:35.50ID:???0814nobodyさん
2017/01/22(日) 08:24:32.05ID:???とか出来る日は来るのだろうか
0815nobodyさん
2017/01/22(日) 08:49:06.15ID:???それいいよね
あとtrueでもTRUEでも
boolean true扱いなのが良い
Cか何かは大文字だけだったはずで、
define TRUE true
かなにかを毎回入れてたな。めんどくさかった
0816nobodyさん
2017/01/22(日) 12:05:06.34ID:Bh2I+8hl0817nobodyさん
2017/01/22(日) 12:07:04.02ID:Bh2I+8hl{
}
という風な書き方をする奴はいけてる。自己紹介してみた。
0819nobodyさん
2017/01/22(日) 12:52:14.70ID:Bh2I+8hl可読性が高い
0820nobodyさん
2017/01/22(日) 13:02:10.82ID:???0822nobodyさん
2017/01/22(日) 13:08:26.34ID:???>>>とか>>だとEOFとの兼ね合いやビット演算の関係でダメなんだろうけど
:>これじゃダメなの =>や->よりは絶対書きやすいんだが
0823nobodyさん
2017/01/22(日) 13:14:23.08ID:???0824nobodyさん
2017/01/22(日) 15:10:18.11ID:???「POSTやGETのパラーメーターは必ずサニタイズしろ」
「改行、特殊文字のエスケープ、ヌル文字や/../排除」
「ホワイトリスト作って、適切なリクエスト以外ははじけ」
「アクセスできる場所に重要なものを置くな。置くなら.httpdや.htaccessではじけ」
「フォームを作るならワンタイムトークン」
これが原則よな
最低限これだけやってりゃだいたい大丈夫っぽいじゃん
0825nobodyさん
2017/01/22(日) 15:17:46.81ID:???ログイン機能が無ければ楽勝
極論ユーザーからの送信は
「ホワイトリスト作って、適切なリクエスト以外ははじけ」
これだけで何とかなる
でもログイン機能を作ると途端にセキュリティホールだらけになるゾ
楽しいゾ〜^^b
0826nobodyさん
2017/01/22(日) 15:59:59.37ID:???0827nobodyさん
2017/01/22(日) 18:51:35.53ID:???0829nobodyさん
2017/01/22(日) 19:18:37.65ID:???$array = [
MyClass::class => '...'
];
みたいなkeyの指定って大丈夫ですか?
0830nobodyさん
2017/01/22(日) 19:20:35.19ID:???0831nobodyさん
2017/01/22(日) 19:53:38.91ID:???0832nobodyさん
2017/01/22(日) 20:00:57.23ID:???これどうなってるの?
連想配列は分かるけど、staticなプロパティで$外してもエラー起こらないの?
Myclass::classで何でクラス名が返ってるの?
0833nobodyさん
2017/01/22(日) 20:24:38.89ID:???http://php.net/manual/ja/language.oop5.basic.php
0834nobodyさん
2017/01/22(日) 21:03:16.72ID:???ありがとう!
しかもこれclass定義しなくても使えたのね。ビックリ
::class
PHP 5.5 以降では、class キーワードでクラス名の解決ができるようになりました。 ClassName クラスの完全修飾名を文字列で取得するには、 ClassName::class とします。 これは、 名前空間つきのクラスと組み合わせると特に便利です。
0835nobodyさん
2017/01/22(日) 23:46:19.23ID:???0836nobodyさん
2017/01/23(月) 01:10:26.38ID:???0837nobodyさん
2017/01/23(月) 01:58:05.38ID:YCqPaICU0838nobodyさん
2017/01/23(月) 22:57:06.46ID:???だれか修正してちょ
http://php.net/manual/ja/regexp.reference.assertions.php
ここ
> (?<=\d{3}...(?<!999))foo
>は、999 でない 3 桁の数字とさらに 3 文字の後に続く "foo" にマッチするパターンです。
これおかしいなあと思って原文見たけど、やっぱり誤訳だった。
「3桁の数字と、999ではない3文字の後に続く"foo"」が正解ですね。
よろしくお願いしますー
0839nobodyさん
2017/01/23(月) 22:59:20.26ID:???マッチしない例
123999foo
abc123foo
マッチする例
123abcfoo
999abcfoo
こういうことです
よろしくおねがいしますー
0840nobodyさん
2017/01/23(月) 23:01:06.80ID:???メイン記事のフォントを太くしました
そのほうが見やすいと思ったので。
メイン記事のフォントの種類とトップのヘッダの色も変えられるようになりました
0841nobodyさん
2017/01/23(月) 23:44:22.72ID:???右上の edit
anonymous login
修正
保存
これぐらいは出来るようになっておいたほうが良いぞ
0843nobodyさん
2017/01/24(火) 11:57:54.39ID:???「すべてのファイル」ってのクリックすりゃいいのね
0844nobodyさん
2017/01/24(火) 12:19:47.00ID:???0845nobodyさん
2017/01/24(火) 14:07:46.91ID:???今そのバグが再現可能かどうかはわからないけど
0846nobodyさん
2017/01/24(火) 20:37:54.16ID:???0847nobodyさん
2017/01/24(火) 21:50:49.60ID:KZ0F5F3Wそれをネットでリアルタイム配信
仲間という人間に対する盗聴盗撮生ネット配信の会
しかけたカメラの映像
乗っ取っているPCの画像をリアルタイムで生配信中
集団で仲間の私生活を覗いて楽しんでいる
そんなことが今この国では行われています
仄めかしの隠語は
猫 穴 水 仲間
0848nobodyさん
2017/01/25(水) 13:25:36.75ID:???array(1,2,3), array(4,5,6), null, array(7,8,9), null,
array(10,11,12), array(13,14), array(15,16,17), array(18,19,29,2000)
);
これをnullを境にぶった切って始点・終点の目印をつけて
次レスのように変えたい
どうやるのが良いか、先生お願いします
泥臭いけどループごとに1つ前の要素を見て判断させるのが一番なんでしょうか
0849nobodyさん
2017/01/25(水) 13:27:52.99ID:???array(
'start'=>true, 'end'=>false,
'data'=>array(
array(1,2,3),
array(4,5,6)
)
),
array(
'start'=>false, 'end'=>false,
'data'=>array(
array(7,8,9)
)
),
array(
'start'=>false, 'end'=>true,
'data'=>array(
array(10,11,12),
array(13,14),
array(15,16,17),
array(18,19,29,2000)
)
),
);
わざわざ配列に組み直してるのは、互いに統合できない2つ以上の別々のところで
分割したものをもとに処理したいからです
0850nobodyさん
2017/01/25(水) 13:48:15.96ID:???>>849が目的じゃなくて手段なら、SplDoublyLinkedListを使うのがいい。
$list = new SplDoublyLinkedList();
$list->push(['abc', 'def']);
$list->push(['ghi']);
$list->push(['jkl', 'mno', 'pqr']);
print_r($list);
0851nobodyさん
2017/01/25(水) 13:57:58.30ID:TQsts9Pu$result = array(
array(
array(1,2,3),
array(4,5,6)
),
array(
array(7,8,9)
),
array(
array(10,11,12),
array(13,14),
array(15,16,17),
array(18,19,29,2000)
)
);
0852nobodyさん
2017/01/25(水) 14:02:31.89ID:???自分でもアレだとは思うんだけど、元の配列の最初([0])ではじまってる塊か、最後で終わる塊か、
に意味があるので手段じゃなく目的になるます
0853nobodyさん
2017/01/25(水) 15:03:00.65ID:???ちょっと意味がわからないんだが。
> 自分でもアレだとは思うんだけど、元の配列の最初([0])ではじまってる塊か、最後で終わる塊か、
> に意味があるので手段じゃなく目的になるます
目的=元の配列の最初の塊か最後で終わる塊かを知りたい
じゃないのか?
それを実現する手段が>>849のコードじゃないの?
0854nobodyさん
2017/01/25(水) 15:05:21.62ID:???Cはどうすればいい?
というようなことだったら、Bじゃなくて別手段がいいんじゃなないのというお話。
0855nobodyさん
2017/01/25(水) 15:30:59.78ID:???目的は最初に書いたように「nullを境にぶった切って始点・終点の目印をつけ」ることです
852で元の〜〜は手段じゃなく目的だと書いたのは、
始点・終点の目印を省く提案をされた>>850-851の方々に対して、いや必要なんですよ、と返す意図です
始端・終端の把握のためとはいえ、いかにもって感じのフラグ設定はどうかとも思ったのですが、
わかりやすさを優先してフラグ設定として書いてあります
アレだと思う、と書いた意図はこのようなことだったのですが今読み直すと意味不明ですね、すみません
854は申し訳ないけど意味がわかりません
0856nobodyさん
2017/01/25(水) 16:17:04.24ID:???> 泥臭いけどループごとに1つ前の要素を見て判断させる
というのがどういうコードを想像しているのかわからんけど、foreachで回してnullかどうかでアレコレすればいいだけだろ
くだらん質問する暇があったらコード書け
0857nobodyさん
2017/01/25(水) 18:01:04.15ID:???0858nobodyさん
2017/01/25(水) 18:24:52.58ID:???それはそうとして、$hoge->fuga($array)に3つの塊を渡して、fuga()の中で
$array['start'], $array['end']を参照して処理を振り分けようと思ってるなら
それは筋が悪い
0859nobodyさん
2017/01/25(水) 21:45:59.66ID:???白い背景だと目が疲れるという方もいると思うので
黒背景バージョンも作りました
https://userstyles.org/styles/138132/darker-flat-php-manual-php
拡張機能のStylishを導入している方で、需要があればご利用ください
0860nobodyさん
2017/01/25(水) 22:44:31.53ID:???> 目的は最初に書いたように「nullを境にぶった切って始点・終点の目印をつけ」ることです
何かをするために目印をつけるんじゃなくて、目印をつけたら終わりってことなのね。
0861nobodyさん
2017/01/25(水) 23:39:57.48ID:???0862nobodyさん
2017/01/26(木) 00:18:55.89ID:???0863nobodyさん
2017/01/26(木) 00:33:38.12ID:???前の要素を参照するとか意味分からんけど, 別にO(n)でもO(n^2)でも構わんのでしょう?
助言としては作るデータ構造はなるべく汎用データ構造かその拡張にしたほうが便利よ, とだけ
0864nobodyさん
2017/01/26(木) 01:29:38.46ID:???おまえら、アホだな
0865nobodyさん
2017/01/26(木) 01:32:19.82ID:???0867nobodyさん
2017/01/26(木) 12:53:41.57ID:???って感じにしてくれ、今後は
0868nobodyさん
2017/01/26(木) 14:11:35.81ID:UAQktabA0869nobodyさん
2017/01/28(土) 00:36:58.68ID:???(new MyClass)->method()
0870nobodyさん
2017/01/28(土) 00:49:13.21ID:???0871nobodyさん
2017/01/28(土) 10:24:13.32ID:???0872nobodyさん
2017/01/28(土) 11:22:54.14ID:???0873nobodyさん
2017/01/28(土) 15:44:19.19ID:???トレイトとしてメソッド分割してok?
0874nobodyさん
2017/01/29(日) 02:48:03.36ID:???0875nobodyさん
2017/02/01(水) 15:32:36.08ID:???0876nobodyさん
2017/02/01(水) 16:29:08.11ID:???0878nobodyさん
2017/02/01(水) 19:18:55.57ID:???マニュアル読む癖をつけたほうがいい
http://php.net/manual/ja/function.isset.php
isset() は何らかの値が渡された 変数の場合のみ動作します。そうでない場合、パースエラーとなります。 もし 定数 が設定されているかどうかをチェックする場合は、 defined() を使用してください。
注意: これは、関数ではなく 言語構造のため、可変関数 を用いて コールすることはできません。
注意:オブジェクトのアクセス不能なプロパティに対して isset() を使用した場合は、もしオーバーロードメソッド __isset() が宣言されていればそれをコールします。
0879nobodyさん
2017/02/01(水) 19:19:30.82ID:???他の言語もそうなの?
0880nobodyさん
2017/02/01(水) 19:41:06.22ID:???0881nobodyさん
2017/02/03(金) 14:28:22.41ID:???ありがと
マニュアルは目を通したつもりだったんだけど注意のところ見逃してたごめん
可変変数もダメなんだなあ
0882nobodyさん
2017/02/03(金) 15:14:11.12ID:BPtags4A0883nobodyさん
2017/02/03(金) 23:04:39.09ID:???0885nobodyさん
2017/02/03(金) 23:22:23.40ID:???0886nobodyさん
2017/02/03(金) 23:30:45.78ID:???0887nobodyさん
2017/02/03(金) 23:39:02.33ID:???0888nobodyさん
2017/02/04(土) 01:31:34.47ID:Rj9LF3nc嘘つくんじゃねーよ。沖縄県民
0889nobodyさん
2017/02/04(土) 01:34:05.86ID:???0890nobodyさん
2017/02/04(土) 08:46:43.40ID:???日本人が一番嫌がるレッテル貼りは「南朝鮮人」もしくは「在日」。しかしあまりに使いすぎたので効果が薄れてきた
最近基地問題で流行りの「沖縄人」を使ってみたが、リゾート地、朝鮮人の市民団体、中国人の市民団体とイメージが広すぎる
結論を言うと、煽りやレッテル貼りとしては失敗。もう少しイメージが絞られたものにするべき
そういう意味では「南朝鮮人」に勝るものはないと言えるだろう
0891nobodyさん
2017/02/04(土) 09:47:53.23ID:???0892nobodyさん
2017/02/04(土) 11:49:01.40ID:QsE+sxbw0893nobodyさん
2017/02/04(土) 21:14:54.28ID:???[2,1,4,3]
上のような配列順序がバラバラでもtrueを返したいのですが、どのような比較方法があるでしょう
0894nobodyさん
2017/02/04(土) 21:21:25.15ID:???0895nobodyさん
2017/02/04(土) 21:26:02.13ID:???>>894 みたいな回答がすらっとでてくるのは脅威
0896nobodyさん
2017/02/04(土) 21:57:52.05ID:Rj9LF3ncみたいな意味不明な質問が出る事がゆとり教育の弊害
■ このスレッドは過去ログ倉庫に格納されています