トップページtech
1002コメント357KB

【PHP】下らねぇ質問はここに書き込みやがれ 4 [無断転載禁止]©5ch.io

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2016/03/12(土) 23:25:33.88ID:j4grSBgs
PHPに関する下らない質問用避難スレです。
まず読むこと【PHPマニュアル】
http://www.php.net/manual/ja/

前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 3
http://echo.2ch.net/test/read.cgi/tech/1447495088/
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
0314デフォルトの名無しさん2016/04/12(火) 02:38:41.31ID:vDLzdyvt
>>312
やっぱり一旦ブラウザに読み込んでからhtmlを取得した方が確実みたいですね
設定作業が難しそうなので避けていましたが、セレニウムってのでそんな感じの事が出来ると思うのでもう少しやり方を調べてみようと思います

>>313
UAならリクエスト送る段階で偽装出来ると思うのですが、なるべく対応したいです
やっぱりページ更新のチェック位置が取得出来ない部分にあったら巡回不可能なサイトが出来てしまう訳ですし・・・

HTMLやCSSにはあまり詳しくないのですが、擬似要素での可変部分は内部的な記述で隠蔽しているという訳ではないんですね
自分で展開できそうならそちらも視野に入れて調べてみます、ありがとうございます
0315デフォルトの名無しさん2016/04/12(火) 03:01:29.60ID:20poyVM6
>>314
スクレイパなどではなくてほんとに汎用web巡回更新チェックか。cssの擬似要素は単純っちゃかなり単純なのですぐわかると思う

ところで素朴な疑問なんだけど
rssを使うとかならともかく生htmlを使って巡回・更新チェックを行う場合、同じく生htmlに吐かれたアクセスカウンターとかどうすんの?
さらに生htmlに実データが無くデータ取得から整形までクライアントに負わせ同時に確実な広告表示を実現してるサイト等の場合も
更新に関わらず内容が変化しうる、これはjsエンジン等を突っ込んだー、だけじゃ解決できない気がするんだけどこの辺どうなんだろう?
0316デフォルトの名無しさん2016/04/12(火) 03:29:34.82ID:vDLzdyvt
>>315
あまり詳しくはないのですが要素の位置に変化が無ければ値が変化しても特に問題は無いと思います
htmlが取ってこれればそれをdomに突っ込んでxmlに変換してxpath通せば特定要素だけを取ってくる事は出来るので
それでhtml上の更新時に必ず変化が起きる要素を一定時間ごとにチェックして変化が確認できたらログを保存してチェックデータを更新といった具合で実装しようと思っています
0317デフォルトの名無しさん2016/04/12(火) 03:32:39.65ID:w4romtCS
思い込みで話すとだめという例
0318デフォルトの名無しさん2016/04/12(火) 05:46:53.79ID:vDLzdyvt
しかしどうしても不思議なんだけど外部サーバから動かす時ってブラウザはどうやって用意するんだろ・・・
seleniumにブラウザのドライバがあってそれ使ってコマンド飛ばせばブラウザを動かせるってのは分かるんだ
そしてwindowsやらmacならフツーにfirefoxなりchromeなりインストールしたら使えるってのも分かる
しかし外部サーバにphpファイルをアップロードして使うって話になると肝心のwebブラウザはどうやって読みこませればいいんだろう
元からインストールされてるとも思えないしレンタルサーバにwebブラウザがインストール出来るのか、それともwebブラウザのexeファイルだけ置けば普通に使えるのか
そもそもレンタルサーバがGUI環境じゃなかった場合webブラウザってのはマトモに動くのか
php web driverってのがある以上何らかの手段はあるんだろうけど、レンタルサーバ上でセレニウムを動かすに当たって何をアップロードすればいいのかっていう必要なものが見えてこない・・・うーむ・・・
0319デフォルトの名無しさん2016/04/12(火) 09:22:36.97
>>318
めんどくさいので、
(1)node.jsが使えるレンタル鯖を借りて
(2)JS+Node.jsによるWebクローラー/ネットエージェント と言う本を買いなさい
0320デフォルトの名無しさん2016/04/12(火) 09:30:30.18ID:K20+5BP2
>レンタルサーバ上でセレニウムを動かすに当たって何をアップロードすればいいのか
いやいや、普通はルートでやるんですよ
VPSが最低要件
それとそこそこのメモリが必要になるでしょうね
そもそもクローラーをレンタルサーバでやる意味がわからないのだけれど・・・
自分のPCでいいじゃない
0321デフォルトの名無しさん2016/04/12(火) 10:42:50.72ID:PLXRZMCg
レンタルサーバーでそれやられたら負荷が高くて同居人に迷惑だな
0322デフォルトの名無しさん2016/04/12(火) 10:55:55.85ID:NLppiuAm
>>320
マナーの問題は置いておいて、こんな処理で root が必要?
パッケージマネージャみたいので入れるなら root を要求されるだろうけど、ディレクトリ一式上げれば動くんじゃないの?
0323デフォルトの名無しさん2016/04/12(火) 11:55:03.31ID:gTjFdqWa
PhantomJSとかその派生は使わんの?
0324デフォルトの名無しさん2016/04/12(火) 11:59:06.19ID:uMcJYrhA
>>322
FirefoxとXvfbが必要
結局JavaScriptで操作した分の対応ってだけで
DOMでない擬似クラスの:afterや:beforeはどうしようもないけど
0325デフォルトの名無しさん2016/04/12(火) 14:46:55.51ID:pjxLuk2S
ログファイルを利用してwebサービス的なものを考えてはいたんですがseleniumは負荷が激増しそうなのでやめておこうと思いますお騒がせしました
むしろ読み込んだhtmlデータを確実に破棄出来てるか、メモリリーク起きてないかが気になってきました
今までは使った変数とか適当に放置してましたがunsetで確実に破棄して行こうと思います
0326デフォルトの名無しさん2016/04/12(火) 16:06:33.46ID:xc/VnKsQ
レベルが高くで全然わからん
やっと$変数名っての覚えた
0327デフォルトの名無しさん2016/04/12(火) 17:46:29.87ID:ZuNPcNPl
PHPやろうと思ったら仮想サーバーとかSQL?とかいろいろ設定しないといけなくて手が出せない
なんていうか全部パッケージされてて解凍かインストールするだけでPHP初められる開発ソフトって何かないか?
0328デフォルトの名無しさん2016/04/12(火) 17:54:12.53ID:xc/VnKsQ
>>327
xampp
0329デフォルトの名無しさん2016/04/12(火) 17:56:37.42ID:pjxLuk2S
>>327
WebMatrix3ってのインストールして起動して新規で空サイト立ち上げたらホーム→新規→新しいファイル→PHPっての入れて
phpコード書くっぽい部分にecho 'test';って入れてから作ったファイル右クリして「ブラウザで起動」選んだら動くよ
mysqlとかwordpressとかも大体入ってる
0330デフォルトの名無しさん2016/04/12(火) 20:52:26.03ID:VhrT22lj
Propelって、コードを読めば読むほどアホが作ったんだなって分かる。
壮大なゴミクズだな。
0331デフォルトの名無しさん2016/04/12(火) 20:57:22.23ID:uMcJYrhA
php4時代の産物に文句言ってもしゃーない
0332デフォルトの名無しさん2016/04/12(火) 21:09:45.08ID:FIX7kEEP
何で今Propelなんや, Doctrineやろ
0333デフォルトの名無しさん2016/04/12(火) 21:33:32.50ID:VhrT22lj
既存プロジェクトだから。
新規ならDoctrineだって馬鹿らしい。
0334デフォルトの名無しさん2016/04/13(水) 00:09:44.78ID:pIZn+U3p
>>327
PHPやるために仮想サーバやデータベースは必要じゃないよ。
仮想サーバが必要なら入れないといけないし、データベースもそう。
深く考えすぎじゃないでしょうか。
0335デフォルトの名無しさん2016/04/13(水) 00:36:38.99ID:eHbmdEvw
>>333
おすすめORMおしえて
0336デフォルトの名無しさん2016/04/13(水) 03:31:33.91
>>327
土日でわかるPHPプログラミング
と言う本やな
自分のパソコン側ではなくてVirtualBoxにPHPやらデータベース入れて動かす方法
0337デフォルトの名無しさん2016/04/13(水) 04:22:33.01ID:799QV5+T
VirtualBoxで動作確認環境を構築するって仮想マシンのOSはLinux入れろってこと?
ローカルpcでphpのソース書いて、わざわざVM側にアップロードして動作確認するの?
開発する時はローカルにxampp入れてソース書いてはローカルで動作チェックしてってやらないの?
ローカルでチェックした後にLANにあるテストサーバや本番サーバにアップしたりしないの?
0338デフォルトの名無しさん2016/04/13(水) 04:39:51.30ID:SBj4pmRf
最低限php -l script-fileできりゃいいや

最近のphpはwindows版バイナリがvcランタイム必須なのがちょっと面倒
0339デフォルトの名無しさん2016/04/13(水) 05:45:48.69
>>337
Vagrantと言う仕組みが有って、ローカルのフォルダの内容をVM側に自動で同期出来る
ローカル側では秀丸エディタとかPhotoShopとか使えるわけで転送も不要、楽だろ

本番機との同期はGitにしなさい
ローカルで開発、SourceTreeでBitBucketにプッシュ、本番機でプル
バージョン管理もバックアップも出来る
0340デフォルトの名無しさん2016/04/13(水) 05:51:50.27ID:od2stSEV
IDEの設定でサーバと連携させる
実行したらFTPなりSCPなりでデプロイしてIEでの実行結果がIDE内に表示される
0341デフォルトの名無しさん2016/04/13(水) 07:30:03.80ID:m+b23jHk
>>335

一般に出回っているもので、まともなORMなんてPHPには無いよ。どれもこれもクソ。
PDOがとても優秀なんだから、PDOをラップしたライブラリを自作すればいいと思う。

何年か前にPDOをラップしたDataMapperの作り方を詳細に書いてくれてたページがgoogle検索の上位にいて、
オレはそれを参考に作って使ってる。
さっきちょっと検索してみたけど、今はどうでもいい内容の薄いページばかりが上がってきて、
ちょっと見つけられなかった。
0342デフォルトの名無しさん2016/04/13(水) 16:10:54.68ID:m2aMgexj
初歩的で申し訳ないですがスマホ用ページとPC用ページでURLを変えたくない場合
一つのPHPにスマホ用とPC用のコード両方書いてもブラウザで判別して分岐させたら
処理は重くならないですよね?
ファイル分けた方が軽いんでしょうか
0343デフォルトの名無しさん2016/04/13(水) 16:29:00.50ID:V9vZnwrf
重くなるってほど変わるような話じゃない
というか最近のトレンドは画面サイズで処理振り分ける方法
ようは全部スタイルシートでやる
0344デフォルトの名無しさん2016/04/13(水) 17:30:50.08ID:Qs0P8RGZ
諸先輩方に質問なのですが
特定の文字列の末尾に[]で囲まれた0以上の整数値(最大値は不明)が入っている事があります
文字列にこれが含まれているかを判定して[]まで含めて除去したいという場合どのような処理を用いればよいのでしょうか
0345デフォルトの名無しさん2016/04/13(水) 18:05:35.83ID:KCoW39g8
>>344
微妙に曖昧な点があるから、文字列の具体例と欲しい結果を書いてごらんよ
0346デフォルトの名無しさん2016/04/13(水) 18:50:02.39ID:SBj4pmRf
>>345
曖昧な点がどこにあるか教えてもらえないでしょうか
0347デフォルトの名無しさん2016/04/13(水) 18:53:10.23ID:fbVZAWIt
例を書けよ、オレもあいまいだから様子見してた
その探したい文字列は複数あるの?
全体は複数行なの?
0348デフォルトの名無しさん2016/04/13(水) 18:59:33.89ID:OSAV0HGg
preg_replace('/\[\d+\]$/', '', $s)
とかじゃないの
0349デフォルトの名無しさん2016/04/13(水) 19:04:16.19ID:pIZn+U3p
そうだと思うよ。
文字列のパターンによっては [ 以降を切り捨てるだけで解決する話かもしれない
0350デフォルトの名無しさん2016/04/13(水) 19:20:04.40ID:eHbmdEvw
整数値と明示されていると/\[[1-9][0-9]*\]$/としたくなるな
0351デフォルトの名無しさん2016/04/13(水) 19:20:44.70ID:pIZn+U3p
0以上の整数値だそうですよ
0352デフォルトの名無しさん2016/04/13(水) 19:21:34.17ID:eHbmdEvw
Oh
0353デフォルトの名無しさん2016/04/13(水) 19:30:22.40ID:Qs0P8RGZ
返答遅れましたが、具体例は'foo/bar[1]/qux/quux[3]'といった形で
'foo/bar[1]/qux/quux'だったり'foo/bar[1]/qux/quux[30]'だったりします
欲しい結果としては、どのパターンでも最後のカッコだけを切り落として'foo/bar[1]/qux/quux'という結果です
0354デフォルトの名無しさん2016/04/13(水) 19:38:51.78ID:Qs0P8RGZ
>>348
今確認しましたがピッタリです。ありがとうございます
0355デフォルトの名無しさん2016/04/13(水) 21:51:54.45ID:Qs0P8RGZ
度々申し訳ありません、再度質問なのですが
//foo[@id="aaa"]/bar/baz[@id="bbb"]/@xyz
といった文字列の中から、一番最後に出てきた[@id="xxx"]以降の文字列を取得したいのですが、これは正規表現で指定可能でしょうか
/\[@id=".*"\].+/で一番最初に出てきたid以降の文字列を取得出来る事は分かったのですが、一番最後のidを指定する方法が分からず困っています
検索文字列の中に[@id=""]が何度出現するかは不定、""の中に入る文字列も不定で何が入ってくるかは分からないという状態です
よろしくお願いします。
0356デフォルトの名無しさん2016/04/13(水) 21:57:23.60ID:pIZn+U3p
先頭に .* つけとけばいいよ
0357デフォルトの名無しさん2016/04/13(水) 22:06:18.52ID:Qs0P8RGZ
>>356
正規表現チェッカーで試してみましたが失敗しました
/.*\[@id=".*"\].+/ これで間違いないでしょうか
0358デフォルトの名無しさん2016/04/13(水) 22:52:26.62ID:pIZn+U3p
>>357
/.*(\[@id=".*"\].+)/
0359デフォルトの名無しさん2016/04/13(水) 23:05:42.73ID:Qs0P8RGZ
グループ化して前に.*を置くと配列の2番に欲しい要素が取れるんですね
何故これで取れるのかは少し理解が及びませんが、グループ内外の計算順序的な関係でしょうか・・・
ありがとうございます、とても助かります
0360デフォルトの名無しさん2016/04/14(木) 00:20:33.95ID:NDERo24Z
でも多分、ちょっとテクい正規表現を使って書くより
素直にifやらforやらを使って処理したほうが幸せになれる。たぶんね。
0361デフォルトの名無しさん2016/04/14(木) 00:59:09.74ID:0z/54ctX
クッソド素人な質問でごめん。

NetBeans8.1(PHPバンドル)+xampp5.6.19でやってるんだけど、デバックとかやったことがなくデバックの意味がよくわからなくて質問。

デバックってプログラムを途中で止めたり出来るってこと

ブレークポイント?で止めてその変数に何が入ってるとか見れたりするってことかな?
デバックを使うにはxamppのphp.iniを編集しないといけないみたいなんだけど、ということはレンタルサーバなんかの本番環境はphp.iniの設定がデバックできない設定になってるってことなの?
0362デフォルトの名無しさん2016/04/14(木) 02:50:30.37ID:nrccYQkH
>>361
デバッグってのはプログラムが意図通りに動作しない原因を調べて修正する作業のこと
ブレークポイントとかで止めて変数チェック出来ると便利だけど別に出来なくても問題無い
要するに変数の中身が見たかったらechoとかprint_rとかで適当に変数の中身を出力してチェックするだけでも事足りる
むしろif文で更に条件絞り込めたりするからブレークポイントより使いやすかったりする
そういうデバッグ用の表示はif(DEBUG_FLAG){}とかで囲っておくとデバッグ終わったら定数をFALSEにすると一々コメントアウトしなくていいからラク
というか本番環境はデバッグ用に使っちゃ駄目じゃない?
問題が起きたらローカル環境でデバッグ済ませたコードで修正しようよ
03633612016/04/14(木) 03:57:13.82ID:kAeel0Dm
ありがと。php.iniにxdebug追加してNetBeansでデバック実行できた。
ブレークポイントの動かし方がいまいちわからなくて直感的に止めてやってみたけど変数の中身を確認する事ができた。
中身を見たけりゃデバックなんて使わずにechoするってのもわかった。

>本番環境はデバッグ用に使っちゃ駄目じゃない?
なるほど。そういうことなんだね
0364デフォルトの名無しさん2016/04/14(木) 05:06:21.70ID:3AVihPqE
デバッグをはかどらせるためにデバッガを使っている。
これで用語が安定してくれるだろうか。
デバックのままな時点で注意力散漫なんだろうけど。
0365デフォルトの名無しさん2016/04/14(木) 07:52:56.33ID:NDERo24Z
よぉし、エンバグなら任せとけ
0366デフォルトの名無しさん2016/04/14(木) 07:56:28.93ID:yvAyG8T7
やめて!!
0367デフォルトの名無しさん2016/04/14(木) 09:16:28.14ID:Ut07vz2q
デグレーダーと呼ばれた男
0368デフォルトの名無しさん2016/04/14(木) 19:41:19.87ID:V5OZRKDZ
デグレとか気にしないためにも、テストコードはちゃんと書こうな! みんな
0369デフォルトの名無しさん2016/04/15(金) 05:47:16.79ID:AwudtfsZ
いやでござる!
0370デフォルトの名無しさん2016/04/15(金) 10:58:24.26
CSSのテストってどうすんやろか
よく「あれっinput textの角丸がなくなってるじゃん」とかなる
0371デフォルトの名無しさん2016/04/15(金) 11:15:26.36ID:hZLpy2lo
ここがなんのスレだと思ってんだか
0372デフォルトの名無しさん2016/04/15(金) 14:41:36.55ID:h/bEplyz
PHP=WEB関連含むって思ってんじゃね?
0373デフォルトの名無しさん2016/04/15(金) 15:32:55.87ID:hZLpy2lo
http://echo.2ch.net/hp/
0374デフォルトの名無しさん2016/04/15(金) 16:16:21.15ID:DHB605eu
<form>
<input type="checkbox" name="s1">スイッチ1<br>
<input type="checkbox" name="s2">スイッチ2<br>
<input type="checkbox" name="s3">スイッチ3
</form>

こんな感じで複数のチェックボックスがあります。
これがチェックされているかいないか確認し、boolean型の配列で保存するにはどうしたら良いでしょう?
(スイッチの数は1〜1000くらいのあり不定です)
0375デフォルトの名無しさん2016/04/15(金) 16:40:55.85ID:vlLJvY6e
nameを配列にする
0376デフォルトの名無しさん2016/04/15(金) 16:44:16.32ID:hZLpy2lo
不定といってもチェックボックス数はわかるんでしょ?
<input type="hidden" name="checkbox_count" value="30">
みたいのを一緒に送れるなら作成する配列数がわかるし簡単でそ
0377デフォルトの名無しさん2016/04/15(金) 18:11:39.89ID:CtWeAAug
バージョンわからないが、そもそもPOSTできる数の上限があるの知ってんのかね?
まあ設定変更はできるけど
0378デフォルトの名無しさん2016/04/15(金) 18:32:22.00ID:ckmbczRy
無知な質問すまん
バッチファイル使って指定したバッチファイル強制終了させるにはどうすりゃいいの?
0379デフォルトの名無しさん2016/04/15(金) 18:40:06.37ID:AwudtfsZ
端的にkill/killprocやtaskkillをexecで呼び出せばいいんでないの
事前にバッチ自身にgetmypidでpid吐かせといてもいいし、psやtasklistでプロセスの一覧拾ったり
あとは必要ならcrontab見て、Windowsだとatコマンドも使えたっけ
0380デフォルトの名無しさん2016/04/15(金) 18:40:09.67ID:KMLXrrkX
>>374
<form>
<input type="checkbox" name="s[1]" value="1">スイッチ1<br>
<input type="checkbox" name="s[2]" value="1">スイッチ2<br>
<input type="checkbox" name="s[3]" value="1">スイッチ3
</form>


if(@$_POST['s']['2']) echo 'スイッチ2 はチェックされてるよ';
0381デフォルトの名無しさん2016/04/15(金) 18:41:11.89ID:KMLXrrkX
ちょっと訂正

if(@$_POST['s'][2]) echo 'スイッチ2 はチェックされてるよ';
0382デフォルトの名無しさん2016/04/15(金) 19:23:10.16ID:nJ+BLq/e
最近、新しい仕事でFuelPHPを使わなければいけなくなったんだけど、Webサイトや参考書を見てもいまいちピンとこない。
元々フレームワークなんか一切使わない、フルスクラッチ派のSEなんで、なんかMVCとかいうのが肌に合わないんだよなー。
もちろん時代の潮流としてフレームワークを使って作成したアプリ開発もしないといけないのはわかるんだけどさ。

fuelPHPを使ってゴリゴリにやっている若いエンジニアから、フルスクラッチ派を古株エンジニアのオレに対して小馬鹿にされるのがなんか切ない。
0383デフォルトの名無しさん2016/04/15(金) 20:33:12.28ID:fQgrroZ3
@とかつかうのやめれ
0384デフォルトの名無しさん2016/04/15(金) 22:15:50.32ID:EFtvuIJr
>>381
何でissetしないん?

>>382
車輪の再発明を毎回やってんの?
0385デフォルトの名無しさん2016/04/15(金) 22:22:10.68ID:UZSoNJii
>>379
サンクス
あと 指定したプログラムが終了したらそのbatも同時に終了する 的なbatはどうすれば作れるの?
0386デフォルトの名無しさん2016/04/15(金) 22:29:02.96ID:KMLXrrkX
>>384
任意の値を取れる他の要素を使う場合も考慮して。
@ が遅いという留意点はあるけど、ここで示したい本質はそこではなく name の配列表現だから。
0387デフォルトの名無しさん2016/04/15(金) 22:30:44.74ID:7TuTTpcb
@って正直自分も使いたくないんだけど、5系の環境で
$foo = @$bar ?: $baz;
はアリ? ナシ?
0388デフォルトの名無しさん2016/04/15(金) 22:47:35.26ID:AwudtfsZ
今のphpは確かにname="value[n]"を$_POST['value'][n]にまとめてくれるけど
htmlソースがいかにもphp独自仕様です、って感じなので好きじゃない俺ロートル

>>385
情報が少なすぎるアンドなんかすでにphpの問題じゃない匂いがする

phpバッチにプロセス存否を監視させ続けるとか、
対象の別プログラムにロックファイルを生成させといてそれをチェックさせるとか(要clearstatcache()確認)、
そもそもphpバッチから別プログラムを呼ばせるとか、プログラムを監視して落ちてたらphpバッチを探して生きてたらこれを落とす別バッチを書くとか
0389デフォルトの名無しさん2016/04/15(金) 23:57:49.68ID:Bg5QZn6N
自宅でwebクリエーターとして小さな個人会社向けにweb制作したいんですがHTML5+CSS3+Javascript+PHPだけで食えますか?
画像処理(デザイン)はめちゃくちゃ苦手でセンスゼロです。
wordpressのテンプレカスタマイズしたほうが食えますか?
0390デフォルトの名無しさん2016/04/16(土) 00:14:57.05ID:yp3MoCIl
食うのに必要なのは、技術よりもまずコネと営業だ
0391デフォルトの名無しさん2016/04/16(土) 01:18:41.49ID:ESOj33QV
受注してきました!→技術がないので作れません
0392デフォルトの名無しさん2016/04/16(土) 01:32:20.87ID:qRVltTpd
→外注だ
0393デフォルトの名無しさん2016/04/16(土) 02:51:57.19ID:ESOj33QV
利益がなくなりますw
0394デフォルトの名無しさん2016/04/16(土) 03:08:54.48ID:FFCasTRX
>>382
MVCが肌に合わないから特定のフレームワークを使わないというのならわからんでもないが、
フルスクラッチ派だからMVCが肌に合わないというのはおかしな話じゃないですかね。
てか、そのフレームワークに関してはその若いエンジニアのほうが「古株」でしょ。

>>386
> ここで示したい本質はそこではなく
本質じゃないから余計なものを省いたということなら、
なおさら @ ないほうがよかったんじゃないでしょうか。
0395デフォルトの名無しさん2016/04/16(土) 03:38:21.70ID:CqNnK3O6
>>394
本質じゃないから余計なものを省いたんじゃなく、本質を説明するための必要十分の例として @ を使ってるんだよ。
本質はお目当ての物が配列で参照できるということであり、そこが分かれば好きにコードを書けるでしょ。
その本質を示す手段としては @ だろうと @無しだろうと isset だろうと array_key_exists だろうとどれでもいいから、おれは @ で示したというだけの話だ。
ちなみにおれも普段は isset を使ってるよ。
さらに付け足すと、フォーム要素を配列で受けるのもあんまりしない。
0396デフォルトの名無しさん2016/04/16(土) 14:39:46.43ID:PpvjCwHN
>>377
上限なんてあるの?
0397デフォルトの名無しさん2016/04/16(土) 15:15:24.00ID:yp3MoCIl
データサイズなんぼとか、ファイル数なんぼとか、そういうのならあった
0398デフォルトの名無しさん2016/04/16(土) 16:36:00.58ID:qRVltTpd
5.3.9以上で有効になってるmax_input_varsという設定があってな、まあこれだ
http://php.net/manual/ja/info.configuration.php#ini.max-input-vars

5.3.8以前では3000個だろうが10000個だろうが問題ない(ブラウザの制限は受ける)
0399デフォルトの名無しさん2016/04/16(土) 16:46:43.81ID:qRVltTpd
もちろんHTTPの制限じゃなくてphpが独自に追加したDOS対策
POSTならphp://input読んで、GETなら$_SERVERでリクエスト読んだりapache_request_headers()使ったり
COOKIEだとそもそも複数個を連結できるしapache_request_headers()で取れるかも、という風に設定変更以外で回避はできるが
0400デフォルトの名無しさん2016/04/16(土) 23:08:06.17ID:yp3MoCIl
ちょいと意見聞かせてくれ。

PHPでWebツール作ってて、内容によってはWeb上だけで完結させず、
別個のプログラムを用意して、例えばcronに投げたほうがいいって判断したとする。

このとき、同じくくりのプログラムだし、保守面も考慮して両方ともPHPで書く?
それともPHPではなくPerlなりPythonなり、そういう用途向き(?)の言語で書く?

とりあえずプログラマは複数の言語に習熟してて、
かつ処理内容も言語を問わないものという前提とする。
0401デフォルトの名無しさん2016/04/16(土) 23:23:15.80
>>400
PHPでページからExcel出力するモジュール書いて
自動eMailでもそれ使ったりするよ
0402デフォルトの名無しさん2016/04/16(土) 23:26:21.71ID:yp3MoCIl
>>401
ありがとう。
どうもPHP = Webサイト表示用 という意識が抜けなくてなあ
0403デフォルトの名無しさん2016/04/16(土) 23:37:48.61ID:FFCasTRX
>>400
同じDB参照したりするだろうし、資産使いまわせるから便利だなと思うよ
0404デフォルトの名無しさん2016/04/17(日) 01:38:56.11ID:S2UekzcW
そのオブジェクトが参照する変数のドットのメソッド名
と先生に習いました。
意味が全然わかりません。
obj1.method()?

頭が固くて固くてプログラミングに頭脳が向いていません。
0405デフォルトの名無しさん2016/04/17(日) 01:50:43.62ID:sy21xjHh
$記号をシフトキー押さずに入力する方法ありますか?
変数のたびに毎回シフトキー押す手間を省きたいです
0406デフォルトの名無しさん2016/04/17(日) 02:15:00.06ID:I4Bf6IMv
>>400
バッチ用途でphpがperl・pyに劣ってる点おしえて
0407デフォルトの名無しさん2016/04/17(日) 02:37:15.07ID:LFk8XMyg
>>400
好きにしろ

>>404
主文が抜けて何を聞きたいのかわからない

>>405
キーマップでggr
0408デフォルトの名無しさん2016/04/17(日) 02:50:11.51ID:5SdFsd1w
>>406
別に優劣の話なんてしてないかと。
> PHP = Webサイト表示用 という意識が抜けなくて
なだけで。

JavaScript = Webブラウザ上のクライアントサイドスクリプトという意識が抜けなくて
という人もいるだろう。
0409デフォルトの名無しさん2016/04/17(日) 03:04:32.12ID:I4Bf6IMv
>>408
>それともPHPではなくPerlなりPythonなり、そういう用途向き(?)の言語で書く?
ここから 少なくともphp = そういう用途向きではない と読み取ったんだが

まあ言語ごとのバッチサポートの様子を語ってくれるなら誰でもいいよ
0410デフォルトの名無しさん2016/04/17(日) 03:59:55.77ID:WVqY7eVD
>>405
$ をコピーしておいて、$ を打ちたい場所で CTRL+V
0411デフォルトの名無しさん2016/04/17(日) 05:50:07.84ID:schrg1Ho
if(0 == '@attributes'){
echo '一致';
}else{
echo '不一致';
}

このPHP文を実行するとなぜか一致してしまうんですがこれは一体どういうことなんでしょうか
バージョンは5.3です。
0412デフォルトの名無しさん2016/04/17(日) 05:59:53.89
PHPで書かれたソースコードから見ると、入力にGET index.html 貰ってファイル処理して返すのと
標準入力からコマンド貰ってなんかしてechoすんのと
やることに変わりはないと思うんすよ
04134002016/04/17(日) 07:56:36.40ID:SaVaSm2U
>>409
優劣があると捉えられないように、慎重に言葉を選んだつもりだったんだけど
なかなか難しいね、すまん。

要はさ、もともとPHPはWebページ出力用として、Perlはバッチ処理用として、
あとは有名ドコロだと、Cは低レベル処理が可能な高級言語として生まれた、
……みたいなのあるじゃん?
優劣とまでは行かなくても、その生まれに適した部分(設計思想)って
やっぱりあったりするのかなって。
■ このスレッドは過去ログ倉庫に格納されています