【PHP】下らねぇ質問はID出して書き込みやがれ 100
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2010/10/27(水) 17:41:33ID:2BwSQxVQ過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 99
http://hibari.2ch.net/test/read.cgi/php/1286938893/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0475nobodyさん
2010/11/05(金) 19:44:05ID:???$divが空文字だとfalse
$divがnullだとfalse
$divがintだとfalse
$divがfloatだとfalse
$divがbooleanだとfalse
0476nobodyさん
2010/11/05(金) 19:44:52ID:???0477nobodyさん
2010/11/05(金) 19:47:11ID:???文字列で[]やったときは違う。
さらにその[]の中を文字列にしたときは、文字列を数値としてみる。
"0"なら0 "1"なら"1" "format"なら なんと 0だ。
0479nobodyさん
2010/11/05(金) 19:50:38ID:???$div = "abc";
で
$div[0] は "a"
$div[1] は "b"
$div["1"] は "b"
$div["format"] は "a" なのだよ。
0480472
2010/11/05(金) 19:53:47ID:???>$div["format"] は "a" なのだよ。
これがわからない。
どうして$div["format"]が$div[0]になってしまうの?。
0481nobodyさん
2010/11/05(金) 19:56:42ID:???失敗したら0にする処理になってんじゃねーの?
0482472
2010/11/05(金) 19:57:04ID:???0483nobodyさん
2010/11/05(金) 20:03:19ID:???文字列のオフセット指定で整数型以外の型は整数型に変換されるとのこと。
print (int)"format"; は 0だよ。
0484472
2010/11/05(金) 20:03:36ID:???もしかしてPHP関連のファイルが壊れたかな、それともスクリプトの構造によってそうなるバグかな。
0486472
2010/11/05(金) 20:08:41ID:???>print (int)"format"; は 0だよ。
色々と文字を入れてみたけど全部0になる・・・
みんな、PHPのバージョンいくつ?
0487nobodyさん
2010/11/05(金) 20:09:02ID:???0488nobodyさん
2010/11/05(金) 20:09:07ID:???0490nobodyさん
2010/11/05(金) 20:11:44ID:???気持ち悪いとかそういうのはともかく、こうなってるから。PHPのバージョンとか関係ないし。
0491nobodyさん
2010/11/05(金) 20:13:36ID:???0492nobodyさん
2010/11/05(金) 20:15:21ID:???整数でのアクセスのみ。整数でなかったらむりやり整数にしますってこと。
0493472
2010/11/05(金) 20:15:26ID:???こういうことらしい
$dat = "string";
if (isset($dat["key"]){
echo "datがstringなら表示できます";
}
0494nobodyさん
2010/11/05(金) 20:17:15ID:???にしとけってことか
0495nobodyさん
2010/11/05(金) 20:17:19ID:???0496nobodyさん
2010/11/05(金) 20:21:10ID:???$dat{1}でアクセスすればいいんだし。
0497nobodyさん
2010/11/05(金) 20:24:02ID:???0498472
2010/11/05(金) 20:26:20ID:???>>492
夕食の準備であたふたしてたけど今それを読んで理解した!
そういう仕様だったのね
全く気付かなかった・・・
0499nobodyさん
2010/11/05(金) 20:28:02ID:???0500nobodyさん
2010/11/05(金) 20:36:36ID:???PHP風に実装するとこんな感じになるんだろうな
0501nobodyさん
2010/11/05(金) 20:48:25ID:7RxO5csWまさかこんなところで詰まるとは思わず、ショックです。
【OS名】Win7 64bit
【PHPのバージョン】php-5.2.14-Win32
【連携ソフトウェア】Apache2.2、MySQL Server 5.1
【質問内容】一通りApache、MySQL、phpをインストールしました。
今はこれらの連携を行えるように設定を行っている段階ですが、phpinfo関数を記述したphpファイルの表示がうまくいかず、
ソースがそのまま表示されてしまいます。
<?php
phpinfo();
?>
現時点で行った設定の内容は下記になります。抜けているものがあるのでしょうか?それともまさか、64bitOSではphpは使えないのでしょうか?
いずれもpathは通っている事と、apacheのindex.htmlが見えるところは確認しています。
(1)アパッチのhttp.confに下記内容を追加
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
LoadModule php5_module D:\application\php\php5apache2_2.dll
PHPIniDir "D:\application\php"
(2)アパッチのmime.typesに下記内容を追加
application/x-httpd-php php
application/x-httpd-php-source phps
(3)phpのインストールフォルダのphp.ini-recommendedをコピーし、リネームしてphp.infoを作成
(4)phpのインストールフォルダのphp5ts.dllをCドライブのWindows\System32配下にコピー
0503nobodyさん
2010/11/05(金) 20:53:08ID:???0504501
2010/11/05(金) 20:56:38ID:???・・・はずなのに、書き込む前に一応もう一度と試してみたら出来た・・・
config変えた後に再起動したんだけど他のタイミングでも必要だったのかなぁ
ご迷惑をおかけしました、ありがとうございます(´・ω・`)
それにしてもphpの最新版DLするところに繋がらなくてもにょる
0505nobodyさん
2010/11/05(金) 20:56:54ID:???http://windows.php.net/download/ にアクセスできません。
”404 NOT FOUND”などすら表示されません。
FireFoxの画面には、「接続がタイムアウトしました」と表示されます。
(http://www.php.net/downloads.phpには問題なくアクセスできます。)
http://windows.php.net/download/ に つながらないのは、サーバーへのアクセスが多すぎるからでしょうか?
0507nobodyさん
2010/11/05(金) 21:01:47ID:???やっぱり繋がらないんですね。自分に何か落ち度があるからかも?と思いました
が、落ちているなら仕方ありません。明日にまわします。書き込みありがとうございました。
0508nobodyさん
2010/11/05(金) 21:03:42ID:8uc9Kp/O失礼しました。上げないのがローカルルールなのかな?と勘違いしていました。
>>504さんの書き込みで納得しましたので、もう大丈夫です。ではでは。
0509nobodyさん
2010/11/05(金) 22:32:15ID:???0510nobodyさん
2010/11/05(金) 22:32:42ID:???0511nobodyさん
2010/11/05(金) 22:39:03ID:???0512nobodyさん
2010/11/05(金) 22:59:19ID:???0513501
2010/11/05(金) 23:40:13ID:7RxO5csWmysqlのDBにアクセスしたいのですが、
<?php
$link = mysql_connect('localhost', 'user', 'pass');
if (!$link) {
die('接続失敗です。'.mysql_error());
}
mysql_close($link);
?>
上記ソースのみを記述したphpファイルを開くとFireFoxだと真っ白、IEだと500エラーとなってしまいます。
MySQLの方は、ソースに記載したアカウントでコンソールから問題なくアクセス出来るのですが・・・
何を疑うべきでしょうか?
とりあえずprint "test";だけ、等の最低限のphpは普通に開けるのですが。
0514nobodyさん
2010/11/05(金) 23:44:31ID:???0515nobodyさん
2010/11/05(金) 23:50:26ID:???0516nobodyさん
2010/11/05(金) 23:55:11ID:???そういうときはデバッグコードを埋め込んでどこで止まってるのか確認する
例:
<?php
print "1<br>";
$link = mysql_connect('localhost', 'user', 'pass');
print "2<br>";
if (!$link) {
print "3<br>";
die('接続失敗です。'.mysql_error());
}
print "4<br>";
mysql_close($link);
print "5<br>";
?>
0517nobodyさん
2010/11/05(金) 23:57:57ID:???0518nobodyさん
2010/11/06(土) 00:10:29ID:???0519501
2010/11/06(土) 00:18:03ID:pkdvtjmFちょっと調べてみたら、php.iniの記述で「extension=php_mysql.dll」がコメントアウトされていたので有効にしてみました。
extension_dirはphpのインストールフォルダのextフォルダを指定してあります。件のphpファイルは相変わらず駄目でしたが・・・
>516
例のソースをそのまま実行してみると1<br>が表示されました。
0521nobodyさん
2010/11/06(土) 01:18:10ID:???0522nobodyさん
2010/11/06(土) 08:09:20ID:tYfj4P03データにある、ある項目が引用されたとき、
そのデータにあるcntというカラムにカウンターみたいなのを付けたいんですが
何か良い方法はありますか?
http://oku.edu.mie-u.ac.jp/~okumura/php/counter-sqlite.php
それっぽいのがあったんですけど 複数のcnt[カラム]ごとに取得したいんですよね
0523nobodyさん
2010/11/06(土) 08:12:35ID:???0524nobodyさん
2010/11/06(土) 10:27:01ID:???質問が来るのはapacheの設定とDB接続関連ばかり
0525nobodyさん
2010/11/06(土) 10:46:23ID:???0526nobodyさん
2010/11/06(土) 11:04:27ID:???スレタイ通り、下らない質問を書き込むスレなんだからそれでいいじゃない?
0527nobodyさん
2010/11/06(土) 11:32:50ID:6C6SIbFK$BB="BBB";//string
if($AA[$BB]==1)echo〜;
これでも動くけど最適なのは
$AA[゙゙.$BB.゙゙]の方がいいのかな?
0528nobodyさん
2010/11/06(土) 11:37:01ID:???どこがarrayなんだ?どうみてもintだが・・・
0529nobodyさん
2010/11/06(土) 11:49:07ID:6C6SIbFK$BB="BBB";
if($AA[$BB]==1)echo〜;
これでも動くけど最適なのは
$AA[゙゙.$BB.゙゙]の方がいいのかな?
0530nobodyさん
2010/11/06(土) 12:10:53ID:???わざわざ$AA[$BB]とするためだけに$BBを定義する必要もないし
$BBを""でくくる必要もない
0531nobodyさん
2010/11/06(土) 12:21:21ID:???0533nobodyさん
2010/11/06(土) 13:56:59ID:l3gP+ufGこういう多次元配列があって、$iは0〜100まであるとします。
この場合、id=なにか という条件で該当する配列を抽出したい場合、
foreachなどで1つずつ調べる方法しかないのでしょうか?
0534nobodyさん
2010/11/06(土) 14:03:03ID:???0535nobodyさん
2010/11/06(土) 14:07:51ID:pKLLoUf3$array[0]['id']
$array[1]['id']
〜
$array[99]['id']
$array[100]['id']
という配列があって?id=なにか?
んー 意味が・・・
0536nobodyさん
2010/11/06(土) 14:09:55ID:???0537nobodyさん
2010/11/06(土) 14:11:21ID:???たとえば
$array[0]['id']=='ABC';
$array[1]['id']=='BCD';
みたいな感じだったとき
'BCD'を指定して1を導きだしたいってことだろう
言わせんな恥ずかしい
0538nobodyさん
2010/11/06(土) 14:14:36ID:???0539nobodyさん
2010/11/06(土) 14:18:03ID:???には色々載ってるが結局ループささせないといけないのは一緒
0540nobodyさん
2010/11/06(土) 14:24:29ID:pKLLoUf30542nobodyさん
2010/11/06(土) 16:31:15ID:???class a{
var $b = ?; //どう書けば?
}
0543542
2010/11/06(土) 17:05:39ID:???複数のclassで繋げてもIDEで補完してくれないし構造体を作ってもあまり意味なさそう。
0544nobodyさん
2010/11/06(土) 17:24:13ID:???var $c = 10;
}
class a{
var $b = null;
function a() {
$this->b = new foo();
}
}
$a = new a();
echo $a->b->c;
0545nobodyさん
2010/11/06(土) 17:40:56ID:???おぉ、ありがと。
コンストラスタを使う方法までは思いつきませんでした。
function内で構造体をくっ付けてみても候補にでなくて諦めかけていました。
0546nobodyさん
2010/11/06(土) 17:51:24ID:???0547nobodyさん
2010/11/06(土) 17:53:52ID:???0548nobodyさん
2010/11/06(土) 18:05:05ID:???0550nobodyさん
2010/11/06(土) 18:10:19ID:???0551533
2010/11/06(土) 18:15:46ID:l3gP+ufGみなさん、色々とありがとうございます。
配列と配列を結合する、MySQLでいうJOINのような事をしたかったのですが、
結合元をforeachして、更にその中で条件の一致する結合先をforeachして〜
とすると処理にだいぶ時間がかかるので、foreachを使わずに
>>537さんがいうような結果を得られる方法を探していました。
ループさせないと無理という事で納得しました。
0552nobodyさん
2010/11/06(土) 18:15:55ID:???0553nobodyさん
2010/11/06(土) 18:41:00ID:???0556nobodyさん
2010/11/06(土) 18:45:54ID:???ID出してりゃこんなことになんなかっただろ
0557nobodyさん
2010/11/06(土) 18:47:36ID:???0558nobodyさん
2010/11/06(土) 18:55:22ID:???0559nobodyさん
2010/11/06(土) 18:56:48ID:???0560nobodyさん
2010/11/06(土) 18:58:36ID:???0561nobodyさん
2010/11/06(土) 18:59:43ID:???0562nobodyさん
2010/11/06(土) 19:03:56ID:???0564nobodyさん
2010/11/06(土) 19:35:46ID:???回答者にはID無しの人に答えてはいけないというルールは無い。
だからID無しの人に回答する奴を責めるのは間違い。
0565nobodyさん
2010/11/06(土) 19:41:06ID:???0566nobodyさん
2010/11/06(土) 19:49:40ID:???荒らしは、自演までしてレスを誘う。
反応するのが一番いけないこと。
相手してくれないとこなら、飽きて来なくなるって。
0567nobodyさん
2010/11/06(土) 19:54:13ID:???0568nobodyさん
2010/11/06(土) 20:20:48ID:pkdvtjmF<form action="test.php" method="POST">
<input type="checkbox" name="test" value="abc"> ABC
<input type="checkbox" name="test" value="def"> DEF
<input type="checkbox" name="test" value="ghi"> GHI
</form>
このように、同じ名前を持ったチェックボックスを使い、0件〜3件のデータを同時にPOSTメソッドで受け取り、処理したいのですが、
どのようにデータを取り出せば良いのでしょうか?
for($i=0; $i<count($_POST["test"]); $i++){
$test = $_POST["test"][i];
$testを用いた処理
}
これでいけるかと思ったら駄目でした・・・(3つともチェックを入れてこの処理を行った場合、$test="A"という結果になりました)
何か根本的に勘違いしているでしょうか?よろしくご教示下さい。お願いします。
0570568
2010/11/06(土) 20:47:46ID:???おお、出来ました!ありがとう御座いましたor2
0571nobodyさん
2010/11/06(土) 21:20:48ID:???0572nobodyさん
2010/11/06(土) 21:23:04ID:???0573nobodyさん
2010/11/06(土) 21:25:40ID:???■ このスレッドは過去ログ倉庫に格納されています