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

【PHP】下らねぇ質問はID出して書き込みやがれ 100

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2010/10/27(水) 17:41:33ID:2BwSQxVQ
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、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等)・フレームワークは各該当スレへ
04844722010/11/05(金) 20:03:36ID:???
あらー、他のキーにしてもformatと同じ症状がでるわ。
もしかしてPHP関連のファイルが壊れたかな、それともスクリプトの構造によってそうなるバグかな。
0485nobodyさん2010/11/05(金) 20:07:50ID:???
>>484
1こ上をみろ文字列を数値にキャストすると0になるだろ
04864722010/11/05(金) 20:08:41ID:???
>>483
>print (int)"format"; は 0だよ。

色々と文字を入れてみたけど全部0になる・・・

みんな、PHPのバージョンいくつ?

0487nobodyさん2010/11/05(金) 20:09:02ID:???
なんでハッシュを数値にキャストするとかミラクルなことしてんの
0488nobodyさん2010/11/05(金) 20:09:07ID:???
流れ読まずに申し訳ないが、なんでそんなことやってんの?
0489nobodyさん2010/11/05(金) 20:10:40ID:???
>>486
それは挙動として正しい
"12abc"とかやってみ
0490nobodyさん2010/11/05(金) 20:11:44ID:???
ハッシュじゃないから。 文字列の[]は特殊だから、仕様だから。
気持ち悪いとかそういうのはともかく、こうなってるから。PHPのバージョンとか関係ないし。
0491nobodyさん2010/11/05(金) 20:13:36ID:???
ハッシュテーブル$div["format"]のキーformatが内部でintにキャストされてるというのがそもそもおかしい訳だが・・・
0492nobodyさん2010/11/05(金) 20:15:21ID:???
だから文字列の入った変数への[]のアクセス時は違うんだって。 ハッシュテーブルじゃない。
整数でのアクセスのみ。整数でなかったらむりやり整数にしますってこと。
04934722010/11/05(金) 20:15:26ID:???
理解したかも
こういうことらしい

$dat = "string";
if (isset($dat["key"]){
echo "datがstringなら表示できます";
}
0494nobodyさん2010/11/05(金) 20:17:15ID:???
$div = array();
にしとけってことか
0495nobodyさん2010/11/05(金) 20:17:19ID:???
理解してないような気がする・・・
0496nobodyさん2010/11/05(金) 20:21:10ID:???
次期PHPでは文字列への文字単位へのアクセスで[]使うの廃止してもらおう。
$dat{1}でアクセスすればいいんだし。
0497nobodyさん2010/11/05(金) 20:24:02ID:???
他言語のcharAtに相当する関数(メソッド)を用意すればいいのにな
04984722010/11/05(金) 20:26:20ID:???
みんな、ありがと

>>492
夕食の準備であたふたしてたけど今それを読んで理解した!
そういう仕様だったのね

全く気付かなかった・・・
0499nobodyさん2010/11/05(金) 20:28:02ID:???
{}使えって返されて終わるんだな。これはこれでいいが、[ ] は紛らわしくて良くないな。
0500nobodyさん2010/11/05(金) 20:36:36ID:???
String::charAt($div, 4);
PHP風に実装するとこんな感じになるんだろうな
0501nobodyさん2010/11/05(金) 20:48:25ID:7RxO5csW
phpの導入段階で躓きました・・・
まさかこんなところで詰まるとは思わず、ショックです。

【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配下にコピー
0502nobodyさん2010/11/05(金) 20:51:24ID:???
>>501
コマンドラインでphp -vは通るかね
0503nobodyさん2010/11/05(金) 20:53:08ID:???
Apacheの再起動が抜けてる
05045012010/11/05(金) 20:56:38ID:???
すみません、書き忘れましたがApache再起動は試しました。
・・・はずなのに、書き込む前に一応もう一度と試してみたら出来た・・・
config変えた後に再起動したんだけど他のタイミングでも必要だったのかなぁ
ご迷惑をおかけしました、ありがとうございます(´・ω・`)

それにしてもphpの最新版DLするところに繋がらなくてもにょる
0505nobodyさん2010/11/05(金) 20:56:54ID:???
PHP 5.3.3 Windows installer をダウンロードしたいのですが、
http://windows.php.net/download/ にアクセスできません。
”404 NOT FOUND”などすら表示されません。
FireFoxの画面には、「接続がタイムアウトしました」と表示されます。
http://www.php.net/downloads.phpには問題なくアクセスできます。)

http://windows.php.net/download/ に つながらないのは、サーバーへのアクセスが多すぎるからでしょうか?
0506nobodyさん2010/11/05(金) 21:01:21ID:???
>>505
>>1
0507nobodyさん2010/11/05(金) 21:01:47ID:???
>>504
やっぱり繋がらないんですね。自分に何か落ち度があるからかも?と思いました
が、落ちているなら仕方ありません。明日にまわします。書き込みありがとうございました。
0508nobodyさん2010/11/05(金) 21:03:42ID:8uc9Kp/O
>>506
失礼しました。上げないのがローカルルールなのかな?と勘違いしていました。
>>504さんの書き込みで納得しましたので、もう大丈夫です。ではでは。
0509nobodyさん2010/11/05(金) 22:32:15ID:???
つーか、PHPスレでそんなこと聞かれてもわかる奴がいるわけないし。
0510nobodyさん2010/11/05(金) 22:32:42ID:???
他のスレでもわからんだろ。
0511nobodyさん2010/11/05(金) 22:39:03ID:???
つーか、もうアクセスできるし。
0512nobodyさん2010/11/05(金) 22:59:19ID:???
えっちいのは嫌いです!!
05135012010/11/05(金) 23:40:13ID:7RxO5csW
>501です。度々申し訳ない・・・
mysqlの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:???
extension読み込んでないんじゃね
0515nobodyさん2010/11/05(金) 23:50:26ID:???
次の予想 文字化け!
0516nobodyさん2010/11/05(金) 23:55:11ID:???
>>513
そういうときはデバッグコードを埋め込んでどこで止まってるのか確認する
例:
<?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:???
print 1wwwwwwwwwww
0518nobodyさん2010/11/06(土) 00:10:29ID:???
えっちぃのは嫌いです。
05195012010/11/06(土) 00:18:03ID:pkdvtjmF
>514
ちょっと調べてみたら、php.iniの記述で「extension=php_mysql.dll」がコメントアウトされていたので有効にしてみました。
extension_dirはphpのインストールフォルダのextフォルダを指定してあります。件のphpファイルは相変わらず駄目でしたが・・・

>516
例のソースをそのまま実行してみると1<br>が表示されました。
0520nobodyさん2010/11/06(土) 00:19:05ID:???
>>519
Apache再起動
0521nobodyさん2010/11/06(土) 01:18:10ID:???
あとはPATH確認
0522nobodyさん2010/11/06(土) 08:09:20ID:tYfj4P03
sqliteです
データにある、ある項目が引用されたとき、
そのデータにあるcntというカラムにカウンターみたいなのを付けたいんですが
何か良い方法はありますか?
http://oku.edu.mie-u.ac.jp/~okumura/php/counter-sqlite.php
それっぽいのがあったんですけど 複数のcnt[カラム]ごとに取得したいんですよね
0523nobodyさん2010/11/06(土) 08:12:35ID:???
最近sqliteの質問が多いな
0524nobodyさん2010/11/06(土) 10:27:01ID:???
PEARとかテンプレートエンジンとかフレームワークの話題禁止にしたらもう詰まる部分なんてほとんどないからな
質問が来るのはapacheの設定とDB接続関連ばかり
0525nobodyさん2010/11/06(土) 10:46:23ID:???
だからってそれを許容しているとスレを分けている意味がないわけで
0526nobodyさん2010/11/06(土) 11:04:27ID:???
別に許容してないよ
スレタイ通り、下らない質問を書き込むスレなんだからそれでいいじゃない?
0527nobodyさん2010/11/06(土) 11:32:50ID:6C6SIbFK
$AA["BBB"]=1;//array
$BB="BBB";//string

if($AA[$BB]==1)echo〜;
これでも動くけど最適なのは
$AA[゙゙.$BB.゙゙]の方がいいのかな?
0528nobodyさん2010/11/06(土) 11:37:01ID:???
$AA["BBB"]=1;//array
どこがarrayなんだ?どうみてもintだが・・・
0529nobodyさん2010/11/06(土) 11:49:07ID:6C6SIbFK
$AA=array("BBB"=>1);
$BB="BBB";

if($AA[$BB]==1)echo〜;
これでも動くけど最適なのは
$AA[゙゙.$BB.゙゙]の方がいいのかな?
0530nobodyさん2010/11/06(土) 12:10:53ID:???
$BBを別のところで使ってないなら
わざわざ$AA[$BB]とするためだけに$BBを定義する必要もないし
$BBを""でくくる必要もない
0531nobodyさん2010/11/06(土) 12:21:21ID:???
どこが最適なんだ
0532nobodyさん2010/11/06(土) 12:31:41ID:???
>>529
やっつけすぎる
次回からはちゃんとしたソース出すようにして
0533nobodyさん2010/11/06(土) 13:56:59ID:l3gP+ufG
$array[$i]['id'] = 1;

こういう多次元配列があって、$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:???
$array[0]['id'] に入ってる数字でしょ
0537nobodyさん2010/11/06(土) 14:11:21ID:???
>>535
たとえば
$array[0]['id']=='ABC';
$array[1]['id']=='BCD';
みたいな感じだったとき
'BCD'を指定して1を導きだしたいってことだろう
言わせんな恥ずかしい
0538nobodyさん2010/11/06(土) 14:14:36ID:???
この場合に標準関数のarray_searchが使えますか?って質問じゃないの?
0539nobodyさん2010/11/06(土) 14:18:03ID:???
User Contributed Notes
には色々載ってるが結局ループささせないといけないのは一緒
0540nobodyさん2010/11/06(土) 14:24:29ID:pKLLoUf3
やっと意味がわかったわ
0541nobodyさん2010/11/06(土) 14:38:01ID:???
>>540
何しに来たんだw
0542nobodyさん2010/11/06(土) 16:31:15ID:???
$a->b->cという形の構造体を作りたいのですがどう書けば良いのでしょうか?

class a{
var $b = ?; //どう書けば?
}
05435422010/11/06(土) 17:05:39ID:???
1つのclassではだめなのかな。
複数のclassで繋げてもIDEで補完してくれないし構造体を作ってもあまり意味なさそう。
0544nobodyさん2010/11/06(土) 17:24:13ID:???
class foo{
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:???
>>544
おぉ、ありがと。
コンストラスタを使う方法までは思いつきませんでした。

function内で構造体をくっ付けてみても候補にでなくて諦めかけていました。
0546nobodyさん2010/11/06(土) 17:51:24ID:???
IDだしてねーやつに答えんなって
0547nobodyさん2010/11/06(土) 17:53:52ID:???
構造体とかワケわかんねーこと言ってんじゃねーよ
0548nobodyさん2010/11/06(土) 18:05:05ID:???
IDとか細けぇこと言ってんじゃねーよ
0549nobodyさん2010/11/06(土) 18:06:32ID:???
>>548
どさくさにスレの主旨否定すんなカス
0550nobodyさん2010/11/06(土) 18:10:19ID:???
ほらID出さないやつに答えるから荒れる
05515332010/11/06(土) 18:15:46ID:l3gP+ufG
>>534-539
みなさん、色々とありがとうございます。

配列と配列を結合する、MySQLでいうJOINのような事をしたかったのですが、
結合元をforeachして、更にその中で条件の一致する結合先をforeachして〜
とすると処理にだいぶ時間がかかるので、foreachを使わずに
>>537さんがいうような結果を得られる方法を探していました。

ループさせないと無理という事で納得しました。
0552nobodyさん2010/11/06(土) 18:15:55ID:???
荒らしにレスは喜びますので自重してください。
0553nobodyさん2010/11/06(土) 18:41:00ID:???
お前みたく反応するほうが悪い
0554nobodyさん2010/11/06(土) 18:43:58ID:???
>>546みたいにIDにこだわる奴がいるから荒れるんじゃねーの
実際>>545までは荒れてなかったわけだし
0555nobodyさん2010/11/06(土) 18:45:02ID:???
>>554みたいにルールをないがしろにするやつがいるから荒れる
あほか
0556nobodyさん2010/11/06(土) 18:45:54ID:???
実際荒れてんじゃん
ID出してりゃこんなことになんなかっただろ
0557nobodyさん2010/11/06(土) 18:47:36ID:???
ID出しにこだわる人は2chの糞運営に強制IDにするように言ってみれば?
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:???
ID出さずに質問するやつもIDないやつに回答するやつもどっちも駄目だね
0562nobodyさん2010/11/06(土) 19:03:56ID:???
擁護してるやつはそのどっちかだろうなw
0563nobodyさん2010/11/06(土) 19:06:31ID:???
>>561-562
精神を病んでいると大変ですね!
0564nobodyさん2010/11/06(土) 19:35:46ID:???
ローカルルールでいうと、質問者にはIDを表示させることになってるが、
回答者にはID無しの人に答えてはいけないというルールは無い。
だからID無しの人に回答する奴を責めるのは間違い。
0565nobodyさん2010/11/06(土) 19:41:06ID:???
PHPに構造体(struct)なんてないって答えればおしまいだったのにな
0566nobodyさん2010/11/06(土) 19:49:40ID:???
荒れるのを防ぐのはもう我慢することだけ。
荒らしは、自演までしてレスを誘う。
反応するのが一番いけないこと。
相手してくれないとこなら、飽きて来なくなるって。
0567nobodyさん2010/11/06(土) 19:54:13ID:???
おまいがそうやって反応してる張本人w
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"という結果になりました)
何か根本的に勘違いしているでしょうか?よろしくご教示下さい。お願いします。
0569nobodyさん2010/11/06(土) 20:22:28ID:???
>>568
name="test[]"
05705682010/11/06(土) 20:47:46ID:???
>569
おお、出来ました!ありがとう御座いましたor2
0571nobodyさん2010/11/06(土) 21:20:48ID:???
IDだしてねーやつに答えんなって
0572nobodyさん2010/11/06(土) 21:23:04ID:???
janeだけど、IDはどうすれば出るの?
0573nobodyさん2010/11/06(土) 21:25:40ID:???
ID出して質問しろ
0574nobodyさん2010/11/06(土) 21:25:53ID:???
そんな質問してる時点で>>1読んでないってことよ
0575nobodyさん2010/11/06(土) 21:42:00ID:???
>>564
酷い屁理屈だな
こういう手合いが沸くのもすべてローカルルールを無視したあほが原因
0576nobodyさん2010/11/06(土) 22:20:31ID:???
IDのことをうるさく言う奴が出てきたせいで荒れた
0577nobodyさん2010/11/06(土) 22:28:10ID:???
IDさえだしてればIDをうるさくいうやつも出てこなかったよなw
0578nobodyさん2010/11/06(土) 22:32:34ID:???
ルール守らないのをかっこいいと勘違いしていいのは中学二年生までだよ!
0579nobodyさん2010/11/06(土) 22:51:35ID:???
最近の傾向だわ。

>>577-578のような基地外に何を言っても無駄だと周りが諦めて発言しなくなる。
それを俺様の主張が正しかったと思い込んで更に病気が悪化する悪循環。
0580nobodyさん2010/11/06(土) 22:53:16ID:???
>>579も早くルールを守れるようになるといいな(笑)
0581nobodyさん2010/11/06(土) 22:54:32ID:???
この手のスレで>>1を軽視するようになったら終わりだな
0582nobodyさん2010/11/06(土) 22:56:02ID:???
またID無しスレでも作ったら?w
0583nobodyさん2010/11/06(土) 22:56:53ID:???
なんでスレのルール守らん側がこんなに威張ってんだ?
■ このスレッドは過去ログ倉庫に格納されています