トップページphp
1001コメント318KB

【PHP】下らねぇ質問はここに書き込みやがれ 71

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2008/07/17(木) 19:42:52ID:DVaNTncw
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 70
http://pc11.2ch.net/test/read.cgi/php/1214356448/

◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。

◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
04444402008/08/04(月) 02:43:03ID:ePD1nbCV
>>443
ダウンロードしたあとの設定です
httpdをメモ帳で変えるところが多分違うのかと思います
0445nobodyさん2008/08/04(月) 02:45:51ID:LmctVFYq
なにでやっているの?
windowsか。
ちゃんとphp.iniの設定とかしたのか?
httpdconfの設定は?

なんか情報が少なすぎてわけわからんよ
0446nobodyさん2008/08/04(月) 02:48:49ID:???
         __,,/  _, ----`ヽ  :.
     :.  / _     ___   、\
       / /   i      \   \\ :.
     :. ,'./       i  ヽ:.   ヽ:.:.. ヽ.ヽ
      ,'/    / .ハ ヽ ヽ:.:.:.:. ヽ::.. ヽヽ :.
     :. |i .i i  .i /  ヽ ト 、 \、:.:.:. ',:.',:.:.lヽ}
       |i .i l  :N_, -弋 \弌弋ナ:}:.:}
    :. |i∧ ', :{ ,ィjモト \  イjミトイイV :.  な…
       .|  :メヽ.', `ozZ}      izN。ハ::{     なんでですか?
      :. |  :ヾ_! ゝ "゙゙    '  `゙ ハ.:', :.
      |  :.:_イ .:.ヽ.   (二フ , イ :.:.:!:.ヽ     なんでPHPの設定
                               ができないんですか? 
   :.  / rィイ | :.:.ヽ: >r/`<ノ .:.::.}ヽ、\:.   
      / ∧l;l ! :.:.:.://{二 ̄ .} ..:..::リ//ハ.:\
 :.  / .{. ',ヾ、ヽi .:.:.{ /(^`  |.:.:.:.//: : :.}: . ヽ.:.
   / /  ) ヽ ヾ、ヽ:.ハ ヤ{   ∧/.-‐'": : |:.:. i ',
  ./ .,イ .:..} : :\ヾレ'ハ ∧__ノノハヾ、  : : : l:.:.: .ハ ',
  { /| .:.:ハ : : :i Y {ヾ`Yヽニン'ノ}: : } : : : :/:.:.:/ }:.}
  V | .:.:/:.:|_,ィ' ̄  ヽ三{ `ー-ノ : イ : : :/:.:i.:{  リ
    ヽ:.:{、.:.V     : : ヘ     : : {: : :/:.::∧|
     ヽ! )人    : : :人      : : : / \! :.
      "  ヽ : : : : :/イ{     :.ノ: : : :.\ :.
       :.  \__///: :\______/: : : : : : : ヽ
           / //: : :|;|: : : : : : i: : : __: : : : ',
       :.     / 、 {;{   |;|   . : i/. : : : : : :|
0447nobodyさん2008/08/04(月) 02:51:18ID:ePD1nbCV
windows XPで
一応PHP Laboの通りにやりました

PHPは新しいのをダウンロードしました
iniの設定はフォルダを作ったり メモ帳でいじりました
httpdconfはたくさんいじってなにがどうなったのかわからない状況です
0448nobodyさん2008/08/04(月) 02:56:27ID:???
サーバ公開するわけじゃないんだからxamppでもいれとけ
外部にポート開いてなければセキュ的にも問題はない
自分で解決できないようなやつは難しいことをしては駄目だ
04494402008/08/04(月) 02:59:04ID:tFXIqt4S
448さん
昨日XAMPPをやっていたら違うスレで
一個ずつやった方が楽って言われて…

最終的にはPHPを公開したいですが…とりあえず勉強がしたいです
0450nobodyさん2008/08/04(月) 03:14:05ID:???
>>449
>一個ずつやった方が楽って言われて…
サーバソフトに熟知してるやつでもどっちが楽かといわれたらXAMPPだ
なぜなら必要なパッケージは一通り入ってるし特別設定しなくてもすぐ使える
サーバ設定など細かなカスタマイズが必要になるのは
サーバを外部に公開したりセキュリティが絡んでくる場合のみ
PHPを開発するだけならXAMPPでいい

>最終的にはPHPを公開したいですが…
作ったスクリプトをレンタルサーバで使ったり公開したいってことでしょ?
上でいってるのは自分のパソコンをサーバとして公開する(自宅サーバ)っていうことだから別の話ね
04514402008/08/04(月) 03:17:57ID:tFXIqt4S
そうですか…
みなさん親切にありがとうございました
とりあえずまたXAMPPを入れてみたいと思います
出来なかったらまたここに来ます
ありがとうございました
0452nobodyさん2008/08/04(月) 03:21:22ID:???
ちゃんと学びたいなら真っ当な方法で設定したほうがいいよ。
XAMPPは諸悪の根源。
0453nobodyさん2008/08/04(月) 03:23:06ID:???
>>452
あんま混乱させるなよ
とりあえず勉強がしたいっていうんだからXAMPPでいいじゃないか
よく使ったりする必要なオプションはあらかじめついてるんだし
鯖屋になるわけじゃねえんだから
0454nobodyさん2008/08/04(月) 03:26:52ID:???
なんでそう必死にXAMPPを勧めたがるの?
0455nobodyさん2008/08/04(月) 03:28:23ID:???
>>454
開発者と鯖屋は別だから

なんでそう必死に1個ずつにこだわるの?
0456nobodyさん2008/08/04(月) 03:28:57ID:???
俺も初学者にXAMPPは薦めたくない。
慣れてる人が手早く環境を作るために使うぐらいがいい。

それにXAMPPでうまくいかないというのは逆にノーマルな手法のほうが
向いてる可能性もあるしな。
全体の構成を頭で覚えるか体で覚えるかの違いだ。
04574402008/08/04(月) 03:29:17ID:tFXIqt4S
とりあえず本を買ってもperlのときみたいに妥協しそうなんで
サイトを見てやっているんですが
とりあえず>>450さんの言うように
プログラムを作ってから セキュリティ面をどうするか考えたいと思います
あまり仕組みがわかってないので間違っているかもしれませんが
0458nobodyさん2008/08/04(月) 03:30:19ID:???
あまりの手軽さに感動しちゃって、この感動を他の人にも与えたいから
04594402008/08/04(月) 03:31:34ID:tFXIqt4S
>>456さん
正直頭で覚えるよりも体で覚えていくタイプなので
XAMPPは何か後から後悔しそうな気がしそう

うーん もう一度だけPHPの環境設定してみます
0460nobodyさん2008/08/04(月) 03:39:20ID:???
XAMPPなんて使うと何の応用力も発展性も無い低脳プログラマができるだけ
04614502008/08/04(月) 03:51:25ID:???
>>459
俺は業務脳なので業務開発者としての意見をいったまでなので
結局趣味開発なら自分の考えどおりやるのが一番だと思うよ
というわけでぜひ設定頑張ってくれ
04624402008/08/04(月) 03:54:32ID:tFXIqt4S
わざわざありがとです
0463nobodyさん2008/08/04(月) 04:32:10ID:???
>プログラムを作ってから セキュリティ面をどうするか考えたいと思います
プログラムのセキュリティーとサーバーのセキュリティーを混同してるんだろうな
前者はXSSやSQLインジェクション対策などのプログラムを書くテクニックのようなもので
後者はサーバーを外部に開くときクラッカーからサーバーを守る防衛策のことだな
で、PHPを開発するのにWebサーバーやらメールサーバーやらDBサーバーが必要になるから
それらをインストールするわけだが
それらはローカル上で自分の作ったPHPの動作確認をするためだけに使うのであって
外部に自分のパソコンから情報を発信(サーバーの外部公開を)するわけではないので
サーバーのセキュリティーは一般的にはサーバーが外部接続のために使うポートを閉じるだけで良い
ルーターはさんでるなら最初から全部閉じてるはずなので問題ないと思うが


設定で先すすまなくて挫折じゃ本末転倒なので俺もXAMPPのようなミドルウェア薦めとくよ
毛嫌いしてるのは何でなのか不思議だなw
だって結局中身はApacheやPHPで同じなのに(httpd.confやphp.iniもあるしもちろん設定もできる)
専用コントロールパネルまで入ってて管理もしやすい
そこらへんのサイトのhttpd.confやphp.iniの中身をコピペしてるようじゃどっちみち同じこと
0464nobodyさん2008/08/04(月) 04:50:11ID:???
>>440
レンタルサーバで開発マジお勧め
0465nobodyさん2008/08/04(月) 05:17:57ID:???
最初にXAMPP使って、慣れて細かいことするようになったら、個別で入れればいいじゃん。
文法学びたいとかなら、XAMPPで十分事足りる。
0466nobodyさん2008/08/04(月) 06:50:54ID:???
これは読んどけ!ってなお勧めのコードは無いですか
種別はなんでも良いんですが、XOOPSはでかくてしり込みしてます
0467nobodyさん2008/08/04(月) 06:55:01ID:???
フレームワークのソースでも読んどけ
ていうかフレームワークを使った開発手法覚えとけ
0468nobodyさん2008/08/04(月) 08:07:09ID:3goeRlYF
まずPHPマニュアルのサンプルソースで基本を学ぶ。
0469nobodyさん2008/08/04(月) 09:01:48ID:???
>>467
フレームワークといってもいくつか有ると思いますが何が良いと思いますか?
今はCakePHPを使ってるところだから、この辺でも良いんですかね・・
綺麗なコードとか設計とか、良く判らなくて
0470nobodyさん2008/08/04(月) 09:22:22ID:???
PHP(PDO) + MySQL について質問です。
クエリーへ名前形式のパラメータを渡したいのですが、
クエリー側でパラメータの適用箇所が複数あると
期待した動作をしないのです。
申し訳ないのですが解決する方法を教えて頂けたら嬉しいです。

例えば以下のように :p1 を複数箇所に書くと
結果は 0 件になってしまいます。
select * from x where x.a = :p1 and x.b = :p1

MySQL のクエリーログでは、
パラメータが疑問符形式 ? になっていたため、
改めて :p1 に加え :p2 を用意し、
select * from x where x.a = :p1 and x.b = :p2
とすると期待通りに動作します。
※予め PHP 側からは同じ値を :p1 と :p2 にバインドします。

名前形式パラメータを複数箇所に適用することはできないのでしょうか?
PHP 側の設定あるいは MySQL 側の設定で対応できるのでしょうか?
0471nobodyさん2008/08/04(月) 09:24:37ID:???
CakePHPはRailsライクだから
同様の他言語のフレームワークでもある程度応用が利く
他言語の理解がまったくなくてもある程度作れてしまうだろう
設計も勝手にフレームワークがやってくれてる
めんどくさいことを考えるの嫌いで特段こだわりがないなら
フレームワークの勉強をするといい
言語として綺麗なコードを書きたいとかきちんとした設計をしたいというのなら
Webの世界を一旦出て完全なオブジェクト指向言語で勉強をするといい
0472nobodyさん2008/08/04(月) 09:31:08ID:???
>>471
ありがとうございます
>言語として綺麗なコードを書きたいとかきちんとした設計をしたい
この辺りが近いです
フレームワークの勉強は続けるつもりなんですが、
アプリやフレームワークを作れるようになりたくて
良いお手本が欲しいと思って質問しました

>>467,468,471
ありがとうございました
0473nobodyさん2008/08/04(月) 09:32:55ID:???
セキュリティの話でちょっとずれますが
予告inのXSSつかれた不正攻撃ってどうやってやられたんですか?
URLの投稿のところでエスケープミスがあったとのことですが
投稿といったらPOSTだろうし
掲示板とかでGETで不正なパラメータ渡されたURLが貼り付けてあったわけじゃないですよね?
実際に自分のサイトに脆弱性がないか自分で攻撃をして確かめてみたいけど
そんな技量がないので不安です
XSSでどういうコードをどう投稿して実験してみるとか
攻撃確認の手法みたいなことをどなたか説明していただけませんか?
0474nobodyさん2008/08/04(月) 10:29:59ID:???
・前
投稿したURL 「http://www.yahoo.co.jp
<a href="http://www.yahoo.co.jp">http://www.yahoo.co.jp<;/a>

・後
投稿したURL 「http://www.yahoo.co.jp\" onclick=\"実行させたいプログラム\"」
<a href="http://www.yahoo.co.jp" onclick="実行させたいプログラム">http://www.yahoo.co.jp\" onclick=\"実行させたいプログラム</a>

基本的にググレカスだけど。
実行させたいプログラムにpostで送信するように書けば良い。
0475nobodyさん2008/08/04(月) 11:12:21ID:???
予告inに脆弱性があったのか。
0476nobodyさん2008/08/04(月) 11:33:13ID:???
ヤフートップでも見れ
0477nobodyさん2008/08/04(月) 11:39:25ID:???
3日の午前2時ごろといえば俺もちょうど見てたな・・・
たしかFirefox使ってたと思うが
ブラウザ固定じゃなくてたまにIEでも見てたりするから
そのときどっちのブラウザ使ってたかは覚えてない・・・
犯行予告されてませんように
0478nobodyさん2008/08/04(月) 11:56:59ID:???
440へ
ちゃんとぐぐって調べたりしてわからないところを
聞かないと、おれもXAMPPはお勧めしない。
きちんとひとつずつインスコして設定すべしだな。
windowsなら簡単だと思うのだが
0479nobodyさん2008/08/04(月) 12:34:36ID:???
XAMPPを嫌う人って多いんだな
そういう人達はtarballからコンパイルして使ってんだろうか
0480nobodyさん2008/08/04(月) 12:42:03ID:???
04web+php yare
0481nobodyさん2008/08/04(月) 12:45:24ID:???
元々tarballからコンパイルして使ってたからとっつきにくいんじゃなかろうか
0482nobodyさん2008/08/04(月) 12:55:08ID:???
Windowsで使うのにそんなこだわらんでもいいのになw
0483nobodyさん2008/08/04(月) 13:22:32ID:???
大した手間でも困難な作業でもないんだから面倒臭がらずにやれよ。
そういう問題解決の方法はプログラム書いていく上でも同じだぞ。
0484nobodyさん2008/08/04(月) 14:27:44ID:???
xamppと1からWAMP環境作った後の違いを教えて欲しいんだけどw

昔もあったけど、xamppをanhttpdとかと勘違いしてるんだろーなw
0485nobodyさん2008/08/04(月) 14:35:42ID:???
お前両方で作ったことあんの?ないだろ
0486nobodyさん2008/08/04(月) 14:55:24ID:???
xampp使ってる人は基本的に両方で環境構築しているだろ。
ローカルはxamppで公開鯖は半手動。
0487nobodyさん2008/08/04(月) 15:09:02ID:???
xamppを使わずに開発環境を構築するメリットの一つに各種バージョンを
本番環境に合わせられるってのがあるかな
xamppの方がバージョンが新しい場合が多いので、うっかり本番環境の
バージョンで使えないコードを書いたりすることがたまにある
0488nobodyさん2008/08/04(月) 15:10:42ID:???
開発するための環境構築に時間かけるのは馬鹿のすること
上のほうでも出てるがお前らは何をやりたいんだ?
プログラムの開発か?それとも鯖屋か?
0489nobodyさん2008/08/04(月) 15:14:59ID:???
>>485
おれ自鯖管理者なんだ。ごめんねw
0490nobodyさん2008/08/04(月) 15:15:00ID:???
別にどっちでやっても時間かからんわ
0491nobodyさん2008/08/04(月) 15:15:47ID:???
ぶっちゃけlinuxで構築するのが一番楽だし早いよな
0492nobodyさん2008/08/04(月) 15:16:33ID:???
>>490
おまえか
anhttpdと間違えてる奴wwwwwww
0493nobodyさん2008/08/04(月) 15:27:47ID:???
サイトから各パッケージダウンロード


1からの場合
最低限アパッチ、PHP、MYSQLの3つのサイトのURL探しから

xampp
xamppのURLのみ



頭の良い奴ならこの時点でわかるよな

winならxamppで構築するのが最速
どっちでやっても時間が変わらないというド素人は、どっちの環境も作ったこと無いかリアル池沼

細かい鯖設定を覚えたければ他のスレへw


0494nobodyさん2008/08/04(月) 15:46:51ID:???
そもそもWinでやるのがアホだろw
0495nobodyさん2008/08/04(月) 15:47:59ID:???
夏だねぇ
0496nobodyさん2008/08/04(月) 15:48:27ID:???
それしかできない、と言うか他のことをやってみるような考えが無い保守的な人だからしょうがない。
井の中の蛙ってやつか。
0497nobodyさん2008/08/04(月) 15:50:15ID:???
開発できれば別にXAMPPでもなんでもいいお
0498nobodyさん2008/08/04(月) 16:11:14ID:???
>>494
開発をWin以外でやる化石なんて今更いない
0499nobodyさん2008/08/04(月) 16:25:07ID:???
正直、統合開発環境が使えればどうでもいい
0500nobodyさん2008/08/04(月) 16:27:03ID:???
俺はsshさえ使えればなんとかなる
0501nobodyさん2008/08/04(月) 16:28:51ID:???
開発作業にWindows使ってない奴は
どれくらい要るんだろうな。

動作させるサーバ環境なんて、
最終的に動かす環境のバージョンとの
互換性を満足できれば
正直なんでもいいしな。
0502nobodyさん2008/08/04(月) 16:31:11ID:???
>>440は要領を得ない無駄だらけで開発者には向いていない
何か問題にぶつかるたびに無駄に調べまわってなかなか先に進めないタイプ

>>497は無駄なく開発に専念できる賢いやつ

>>499はデバッガつきなら賢い
0503nobodyさん2008/08/04(月) 16:35:48ID:???
俺の場合VSもいれるから必然的にOSはWindowsになる
PHPだけの開発のためにPC使ってるやつのほうが稀
お前らもMMOとかWindows用のゲームとかを開発してるPCでもやるよな?
0504nobodyさん2008/08/04(月) 16:41:51ID:???
XAMPPが嫌われるのは、何度も何度も「Apacheで転送速度が遅いんだけど何で?」
という質問が来るからうんざりしてんだよ。
0505nobodyさん2008/08/04(月) 16:44:03ID:???
>>503
仕事用のマシンにはゲーム入れないお
ってかゲームはDSでしかやらないお
0506nobodyさん2008/08/04(月) 16:44:59ID:???
>>504
ソフトウェアの性能とユーザーの知識は別問題だろ。
0507nobodyさん2008/08/04(月) 16:47:45ID:???
rskえもんの拡張がwinで使えればwinで不自由ないのだが
0508nobodyさん2008/08/04(月) 16:48:14ID:???
phpの質問をどうぞ
0509nobodyさん2008/08/04(月) 16:48:52ID:???
>>504
こんなんがいるからxamppは迫害されてるのかwwww
とばっちりもいいとこだな
0510nobodyさん2008/08/04(月) 16:49:48ID:???
XAMPPでインストールしたんですがapacheでの転送速度が遅いです
なんでですか?
0511nobodyさん2008/08/04(月) 16:54:19ID:???
>>510
製作者じゃないのでxamppのフォーラムか開発者に問い合わせてください^^
0512nobodyさん2008/08/04(月) 17:08:58ID:???
$text = 'あいうえお<!--メイン-->かきくけこ';

$text = split('<!--メイン-->' ,$text);

$text[0] = 'あいうえお';
$text[1] = 'かきくけこ';

としたいのですが、うまく動作しません。
splitのとこの書き方が悪いと思うのですが、どう書けばよいのでしょうか?

0513nobodyさん2008/08/04(月) 17:18:01ID:???
>>512
結果がどうなるのか、まず示しなよ。
0514nobodyさん2008/08/04(月) 17:24:10ID:???
文字コードじゃ?
mb_split はどう?
05155122008/08/04(月) 18:18:58ID:???
>>513
全く分割されずスルーされます

>>514
結果は変わりませんでした
0516nobodyさん2008/08/04(月) 18:27:25ID:???
>>515
文字コードとか問題ない?
こっちでそのままコピペして実行してもちゃんとわかれるけど。
0517nobodyさん2008/08/04(月) 18:29:34ID:???
めったにしないと思うが文字コードをJISにしていて正規表現のメタ文字含んじまったとかか?

$text = split(quotemeta('<!--メイン-->') ,$text);
05185122008/08/04(月) 18:50:00ID:???
皆様本当に申し訳ありませんでした
穴があったら入りたいです・・・
$textの中の文字コードとソースの文字コードが違っただけでした><
1度確認したつもりだったのに
お騒がせしました
0519nobodyさん2008/08/04(月) 19:28:54ID:???
よし穴に入れ
0520nobodyさん2008/08/04(月) 20:38:36ID:???
>>519穴を提供して!
0521nobodyさん2008/08/04(月) 20:53:22ID:???
       ∧∧   
       (д`* )
       (⊃⌒*⌒⊂)
        /__ノωヽ__)
0522nobodyさん2008/08/04(月) 22:24:24ID:mchfEoZH
phpの配列の添え字についてお伺いします。
添え字は、どうして0からスタートしているのでしょうか?

もしかしたら、2進法の流れでしょうか?
10進法でいえば始まりは1が基本ですよね?

配列を処理する場合に、$i + 1としなければいけないなど、
生産性が著しく悪いのですが、配列回りの所作について
定義している箇所はありますか?
0523nobodyさん2008/08/04(月) 22:34:10ID:???
>>522
10進数でも2進数でも0からなのは同じだろ。

>配列を処理する場合に、$i + 1としなければいけないなど、

わからん。具体例をあげてくだちい
0524nobodyさん2008/08/04(月) 22:37:19ID:???
>>522
phpのソースコードから書き換えてコンパイルすればおk
0525nobodyさん2008/08/04(月) 22:38:38ID:mchfEoZH
>>523
ご回答ありがとうございます。

いや、現実の世界では0ではなく1から始まりますよね。
# 会員番号、出席番号、駅のホームの番号など0からスタートするなんてまれです。

その事から、業務プログラムを作ると、そのような連番処理をする場合に、
for文の中で$i + 1としてから、連番を振らなければいけないなどの
面倒な処理が出てきます。しかし配列は$array_sample[$i]のように$iです。

このような処理があちらこちらに出現すると、バグの元にもなりますし、
$iを使っているのか$jを使っているのか訳が分からなくなります。
0526nobodyさん2008/08/04(月) 22:41:40ID:???
添え字を連番として扱うのが間違い
0527nobodyさん2008/08/04(月) 22:42:06ID:t2yFOOOp
>>525
言語によってはデフォでは配列の添え字が1から始まったりする
だからphpでは単にそう決まってるだけだよ

まぁ最初に作った奴は0からのが便利って思ったってだけだろ


0528nobodyさん2008/08/04(月) 22:48:04ID:???
>>522
C言語の影響なのかなあ?
0529nobodyさん2008/08/04(月) 22:49:06ID:3goeRlYF
>>525
>このような処理があちらこちらに出現すると、バグの元にもなりますし、

変数の使い方をしっかり決めておけばそんな混乱は起こらない。
あと出席番号=添字にするのなら、[0]を使わず[1]から振っていけばいい。
0530nobodyさん2008/08/04(月) 22:51:19ID:mchfEoZH
>>527
> まぁ最初に作った奴は0からのが便利って思ったってだけだろ

最終的にはそういうことですね。
1からではなく0から使うことのメリットを逆に知りたいくらいですですが・・・。

現実の世界とかけ離れたivory towerの中で作られたという印象を受けます。
phpの新しいバージョンで1から始まるように、願うしかないのでしょうね。
0531nobodyさん2008/08/04(月) 22:53:43ID:???
自分に理解できないことは象牙の塔か。
0532nobodyさん2008/08/04(月) 22:56:05ID:???
>>525
それは自然数だね。

>for文の中で$i + 1としてから
$iがいくつから始まるとか言ってくれないとわからん。
$iを1から初めて$array_sample[$i-1]みたいに使うこともあるだろ。

>$iを使っているのか$jを使っているのか訳が分からなくなります。
それは別のことの気がする。
0533nobodyさん2008/08/04(月) 23:00:57ID:???
>>530
たぶんC言語の影響じゃない。

自然語で先頭から3番目は
プログラム的には先頭+2の場所なんだよね。
0534nobodyさん2008/08/04(月) 23:01:23ID:???
>>528
確かにCで1から始まったら変態すぎるw
0535nobodyさん2008/08/04(月) 23:04:04ID:???
不毛なんだからその辺にしとけ
0536nobodyさん2008/08/04(月) 23:13:50ID:???
自分で好きなように言語開発すりゃいいじゃん

どーぞ
どーぞ
0537nobodyさん2008/08/04(月) 23:16:12ID:mchfEoZH
今まで疑問に思っていることでしたが、
貴重なご意見を頂きましてありがとうございました。

phpがC言語を影響を受けるのは必然的な流れで、
よく考えずに実装をしてしまったというのが妥当な推測でしょうか。

例えば、配列$company_memberを処理する際に、
 for ($i = 0; $i < count($company_member); $i++)
とするのは見慣れてしまっているので、むしろ自然の形かもしれませんが、
これを日本語風に翻訳すれば、「0より大きく最大数未満で処理しろ」ということですが、
 for ($i = 1; $i <= count($company_member); $i++)
として、「1番目から最大数になるまで処理しろ」というのが自然のリアルの思考です。

自然の思考に従って、後者の書き方で実装すると良さそうに見えますが、
phpの関数の言語仕様が0で始まっている以上、phpの標準関数を使う際に色々と支障が出てきます。

また、チームでやっているので、0から始まったり1から始まったりでは、
認識のズレが生じて、それも又バグの元です。

これを回避する方法はなく、結局郷に入りては郷に従え、悪法も法なりで
# 結局、0から始まることのメリットを言われる方がいないのもその裏付けだと思いますが
phpの言語思想の中で実装をしなければならないというのが結論と理解しました。

ありがとうございました。
0538nobodyさん2008/08/04(月) 23:19:41ID:???
         \   ∩─ー、    ====
           \/ ● 、_ `ヽ   ======
           / \( ●  ● |つ
           |   X_入__ノ   ミ   そんなエサで俺様がクマ――!!
            、 (_/   ノ /⌒l
            /\___ノ゙_/  /  =====
            〈         __ノ  ====
            \ \_    \
             \___)     \   ======   (´⌒
                \   ___ \__  (´⌒;;(´⌒;;
                  \___)___)(´;;⌒  (´⌒;;  ズザザザ
                               (´⌒; (´⌒;;;
0539nobodyさん2008/08/04(月) 23:19:58ID:???
配列の0は無いほうが合理的(キリッ
0540nobodyさん2008/08/04(月) 23:22:21ID:???
>>536
てめはPascalでもつかってろってこった
0541nobodyさん2008/08/04(月) 23:23:14ID:???
間違えやすいとか面倒というのは俺もそう思う。
混在しているとややこしいね。

以下のxは配列の先頭とか20とか33とかと仮定する。

xから5番目といったら$array_sample[x+5-1]なんだよな。

これはxと同じ位置のことをxから1番目と数えるからなんだろうな。
つまり1から数えるのはデメリットもあるってこと。

>よく考えずに実装をしてしまったというのが妥当な推測でしょうか。
そうは思わない。

>また、チームでやっているので、0から始まったり1から始まったりでは、
>認識のズレが生じて、それも又バグの元です。
配列に関係なく認識のずれがある時点でダメだろ。

># 結局、0から始まることのメリットを言われる方がいないのもその裏付けだと思いますが
なんだその視野の狭い即決は。
0542nobodyさん2008/08/04(月) 23:23:59ID:???
>>537
添え字が0から始まる言語のすべてに当てはまることを
さもphpだけに当てはまるように書いているのには
なかなか興味深いものがあるな
0543nobodyさん2008/08/04(月) 23:24:38ID:???
>また、チームでやっているので、0から始まったり1から始まったりでは、

詳細設計しろ。
添え字が何を意味するのか曖昧なまま開発したらバグって当たり前だ。

0を使いたくなければ使わなきゃいい。
0を使わない方向でチーム内で意思統一すればいい。
■ このスレッドは過去ログ倉庫に格納されています