PHP質問・雑談スレ6【初心者お断り(ROM歓迎)】

1nobodyさん2019/05/12(日) 18:21:04.82ID:Bj6LHkP3
PHPに関する質問や雑談をするスレです。
初心者お断り(ROM歓迎)と書いてますが、初心者用のスレが用意されているからで、
難しい質問や話題をしなければいけないわけではありません。
PHPマニュアルの読み方を概ね理解していて、関数リファレンスが正しく読める方用のスレです。

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

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

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

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

このスレで扱わない話題
・直接関係ない○○特有の質問(専スレへ)
 (HH,エディタ,IDE,サーバ,OS,DB,SQL,FW,テンプレート,非公式ライブラリ・アプリケーション等)
・PHPの改造

122nobodyさん2019/08/30(金) 03:38:37.57ID:???
HHVMがRustで書き直されるらしい

123nobodyさん2019/09/02(月) 04:26:01.03ID:???
↓こういうjson配列を
[
{id:0, name:"ああ", age:20,....},
{id:1, name:"いい", age:21,....},
{id:2, name:"うう", age:22,....},
];

idとname以外のデータ落として↓一次元の連想配列に変えたいんだけど
{0:"ああ",1:"いい",2:"うう",};

array_filterで一発変換みたいことは無理?

124nobodyさん2019/09/02(月) 07:07:50.73ID:???
json向けの組み込み関数は少ない
外部ライブラリ使えば可能だと思うが
関数1つにこだわる必要もないだろう

125nobodyさん2019/09/02(月) 09:35:13.96ID:???
array_columnとarray_combineでどうぞ

126nobodyさん2019/09/17(火) 01:53:23.96ID:???
preg_replaceで$1を$foo["$1"]に置き換えたいのですが
$1の意味が違うのでこれではundefined indexになってしまいます
ここはどう書くのが正しいですか?

1271262019/09/17(火) 02:01:17.23ID:???
すみません自己解決です
callbackじゃないとだめみたいですね

128nobodyさん2019/09/17(火) 12:34:12.78ID:???
CRで保存したファイルを読み込んで、
一部の\rとか\nとかtrimで除去してたらおかしくなってしまいました。
CR+LF、LFは問題ありません。
コードでどうにかするのはめんどくさそうなので、
CRのファイルだったらLFに内部で変換するようなことってできますか?

129nobodyさん2019/09/17(火) 14:05:13.65ID:???
>>128
簡単にできるよ!
じどうてきにCRをLFに変換する関数を呼ぶ仕組みが用意されてる
入出力ストリームとかストリームラッパーで検索しよう

130nobodyさん2019/09/18(水) 06:03:03.69ID:LxHdNOoK
>>128
CRで保存するってどういう事情でそうするの?
個人的に知りたい

131nobodyさん2019/09/18(水) 09:15:45.70ID:???
>>130
アホのマカーが作ったファイルとかでしょ

1321282019/09/18(水) 15:48:17.90ID:???
>>129
ありがとうございます。
頂いたヒントからたどり着いた答えは、php://filterですがあってますか?
ビルトインのフィルタを確認しましたが、文字コードを変えるものはありましたが、
改行コードを変えれそうなものはなさそうなので、自分で作って登録しろということでしょうか?

>>130-131
アホかどうかはおいといて、そういうことですねー

133nobodyさん2019/09/19(木) 05:43:59.95ID:jad6fnCm
>>132
str_replace(["\r\n","\r"],"\n",$subject)
でよくね
ストリームとか全然わからん

134nobodyさん2019/09/19(木) 09:26:58.26ID:???
Apacheってオワコン?
速度は静的コンテンツについてはnginxの完全勝利
動的ならApache+fpmでnginx+fpmと同程度

.htaccessでどのディレクトリでも
設定変更出来るのはDockerが一般的になった今や無意味
むしろセキュリティ上のリスクにもなり得る

preforkモジュールにすればsupervisordなしでDockerコンテナを一つに出来ると言うメリットは一応あるが
preforkモジュールはかなり遅い

135nobodyさん2019/09/19(木) 09:30:30.89ID:???
あとApacheの設定ってすごく読みづらくね?
nginxの方が直感的に理解しやすい

136nobodyさん2019/09/19(木) 10:06:18.06ID:FBUFJOFs
それを5chの僻地で主張することにどんな意味があるの?

137nobodyさん2019/09/19(木) 12:41:12.60ID:???
どっちもオワコンだろ
lswsを使ったらもう戻れない

138nobodyさん2019/09/19(木) 12:46:21.36ID:???
>>137
そんなもの流行りませんよ
apacheのデファクトぶりに震えて眠れ

139nobodyさん2019/09/19(木) 12:55:28.25ID:???
「〜はオワコン」って言ってるのは評価軸を決められない未熟なエンジニアか荒らし。
どっちゴミなんでほっとけばいい。

140nobodyさん2019/09/19(木) 16:11:25.78ID:???
Iswsって…なに?

141nobodyさん2019/09/19(木) 17:53:36.03ID:???
nginxはここ数ヶ月で下落の兆候あり
apacheとiisは長期的に下落を続けている
かといってlswsが急上昇してるわけでもない
さて一体失われたシェアはどこへ行ったのやら

142nobodyさん2019/09/19(木) 18:42:10.84ID:eAWoBb1U
>>125
こういう関数がすっと出てくるのはすごいと思う。
mapしてzipしてcollectすればいいと考えても、そこからPHPの関数にたどり着くまでが大変。
覚えりゃいいんだけど、PHP離れるとすぐ忘れるし。

143nobodyさん2019/09/19(木) 21:02:25.41ID:???
International Semantic Web Research School?

144nobodyさん2019/09/19(木) 22:17:40.43ID:???
>>140
アイじゃなくてエル LiteSpeedWebServer
PHPはこのサーバ向けにカスタマイズされた特殊なものが使われてる
おかげで設定なしにPHPが導入出来るばかりか
優秀なリポのおかげもあって常に最新のPHPにアップデートされる
もちろん普通のPHPのコードが動くので心配はいらない
Web設定ツールはPHPで書かれているのでPHPとセットになってるし
特にWP向けに最適化されててWP配信ならWebServer界最速で
PHPerのためのサーバといっても過言じゃないわ

145nobodyさん2019/09/19(木) 22:59:29.63ID:???
何だ有料かよ…
どうりで流行ってないわけだ

146nobodyさん2019/09/20(金) 00:03:47.56ID:???
オープンソース版もある
https://openlitespeed.org/
solarisとopen solarisみたいなもんだ

147nobodyさん2019/09/20(金) 07:16:09.29ID:???
openlitespeedって公式dockerないの?
検索しても出ない

148nobodyさん2019/09/20(金) 15:08:57.50ID:???
dockerこそがオワコンなのでは・・・

149nobodyさん2019/09/22(日) 15:11:34.94ID:???
>>142
貧乏人だからセレロンに8GBのノートPC
これじゃあんま強力な環境を作れず
IDEよりもエディタで本当はフレームワーク勉強したいけど
開発環境作ると重いしピュアなPHPでゴリゴリ書いてる
だから俺はPHPの関数めっちゃ覚えてるよ
あーいいパソコンがほしい

150nobodyさん2019/09/23(月) 08:54:20.94ID:QSgTtzwO
メモリ8Gってすげえ高性能だな
俺なんかまだ716MBで頑張ってるよ

151nobodyさん2019/09/23(月) 12:30:25.95ID:???
>>148
同意します。
ブラックボックスは小さい方が良いと思う。

152nobodyさん2019/09/23(月) 13:20:41.47ID:???
>>150
linuxのコンソールからviでも起動してプログラムかいてんのか?
それだったら尊敬するわw

153nobodyさん2019/09/23(月) 13:25:22.22ID:QSgTtzwO
>>152
xp
5chとネットサーフィンだけだけど全然余裕
ブラウザはnewmoonってのを使ってる

154nobodyさん2019/09/23(月) 17:09:58.24ID:???
>5chとネットサーフィンだけだけど全然余裕
PHP書けよ

155nobodyさん2019/09/24(火) 00:42:30.94ID:???
Atomで書いてるけど、最近Visual Studio Codeに浮気しようか悩んでる

156nobodyさん2019/09/24(火) 11:03:33.46ID:???
>>155
元Atom使いだがVSCodeのがいい

157nobodyさん2019/10/10(木) 15:06:45.91ID:6vRbT12P
htmlとcssが出来るようになった
次はjavascriptかphpを勉強したいと思ってる
どちらから先にやるべきだ?
分かりやすく教えろ。

158nobodyさん2019/10/10(木) 17:06:25.16ID:???
phpはブラウザで使えない
javascriptはサーバーで使うには素人は難しい

159nobodyさん2019/10/10(木) 18:00:37.97ID:???
次はxmlとxsltだ
異論は認めん
さぁ頑張ってこい

160nobodyさん2019/10/10(木) 23:12:46.80ID:???
$dbh = new PDO(
'mysql:host=localhost;dbname=db1;charset=utf8', $user, $pass
);
っていう、dbへの接続方法

$dbh の中身をどうやって実行するんや!?と思ってたんだけど、
new PDOでPDOが呼ばれた段階でPDO以降の実行結果が代入されるということだから、接続確立したって事でOK?
あほだからこんな事で丸一日悩んでしまったんだけど…

161nobodyさん2019/10/11(金) 01:08:56.63ID:???
JavaScript優先だろう
JavaScriptは今やhtml5を使うには必須スキルで代えは聞かない。
ブラウザあればすぐに試せるから実行環境が用意しやすい。
Googleドライブにあるスプレットシートなどのマクロ、Google Apps ScriptなんかもJavaScriptと同じ構文で動くし
RPGツクールMVなどのゲーム作成でも役に立つ。node.jsのようなサーバーサイドで動くJavaScriptもある。
JavaScript知識は活用範囲は非常に広い


phpは基本サーバーサイドでしか動かんし用途が限定的。
ライバル言語が非常に多く、別の言語でもいいってこともしばしば
他に代用がいくらでもあるので優先順位は低い

162nobodyさん2019/10/11(金) 01:15:16.16ID:???
java script とかはやりたい事ググってサンプルスクリプトを見つけて
コピペしてあまり理解せず使ってるわ
そんなもんでいいだろう

163nobodyさん2019/10/11(金) 01:35:12.00ID:???

164nobodyさん2019/10/11(金) 01:35:31.13ID:???

165nobodyさん2019/10/11(金) 01:48:44.71ID:???
jQuery

166nobodyさん2019/10/11(金) 02:46:57.19ID:leI7Cv7w
<script type="text/php">
$a = Document::getElementById('a');
$a->style(['background-color'=>'#fcf']);
$a->innerHTML('<p>hello</p>');
try {
 Core::ajax('http://example.com', 'get', function($text) {
 });
} catch (HttpError $e) {
}

こんなん探せばありそう

167nobodyさん2019/10/12(土) 10:54:07.93ID:8sBNDV+V
素のPHPでWebバックエンド周り(フォームとかセッションとかセキュリティとか)を一通りやるのは悪手とは思わん。
その後はさっさとPHPとおさらばして、他の言語に移るべき。

168nobodyさん2019/10/12(土) 11:56:12.79ID:???
>>167
MariaDB上のデータベースをネットから検索する簡単なフォームとPHPを書こうと思うんだけど、
面倒くさい。

データベースの構造を元に検索フォームとPHPの雛形を簡単に作ってくれるアプリは無いのかな?

169nobodyさん2019/10/12(土) 19:32:38.63ID:???
それこそWebフレームワークが最も得意なことじゃない

170nobodyさん2019/10/13(日) 01:09:28.72ID:???
>>169
ありがとうございます。試してみます。

171nobodyさん2019/10/14(月) 01:35:48.88ID:???
bitbucketに対してコミット、プッシュが簡単に出来るphpライブラリって無いかな?
無ければssh2_connectコマンドで頑張るしかないんだけど

172nobodyさん2019/11/14(木) 10:13:01.22ID:???
VPSからPHPで外部サーバへFPTS接続して、ファイルをアップロードしたいのですが、

ftp_ssl_connect()は成功してるようなのですが、

ftp_login($connectId, $userId, $userPass) のところで

「SSL/TLS handshake failed」「Proceed with negotiation」などと出て失敗してしまいます。

php.info()では「ftp」「openssl」は有効になっているのですが、

ほかに何か設定するべきところがあるのでしょうか?
送信元のapacheやvsftpdなど。
送信元のサーバのapacheで証明書とかも要りますか?

OSはCentOS6
PHPは5.1.6です。

新着レスの表示
レスを投稿する