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

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2010/05/28(金) 16:33:44ID:???
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 95
http://pc11.2ch.net/test/read.cgi/php/1271636105/

◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】

◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)

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

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

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0737nobodyさん2010/06/30(水) 11:12:13ID:XzF49h+x
訂正 $number ="01";
0738nobodyさん2010/06/30(水) 11:27:43ID:???
文字列とは何ぞやとか、 PHP数値への変換の仕様とか
http://www.php.net/manual/ja/language.types.string.php#language.types.string.conversion
0739nobodyさん2010/06/30(水) 12:16:22ID:???
>>736
おまえは2時間前のできごとをもう忘れているのか?
0740nobodyさん2010/06/30(水) 14:31:43ID:XzF49h+x
>>739 ???

>>738
仕様でできないってことなのかな

他の方法考えて見ます(01スタートでなく最初から2桁の11スタートとか

どうもありがとうございました。
0741nobodyさん2010/06/30(水) 15:00:40ID:???
$number =1;
$number = $number + 1;
file_put_contents( "a.txt", sprintf("%02d",$number) );

数値足してくんなら、最初っから数値にしとけよ。
数値にみなせる文字列だったら+1すれば数値に解釈して"01" + 1 ってやれば 2になるけど "02"にはならねーから。
2桁で表示させる方法聞いといてそれなんでつかわねーんだよ。
俺らバカにしてんのか?
分かんなかったら分からんって書けよ。
0742nobodyさん2010/06/30(水) 15:02:56ID:???
>>740
???
0743nobodyさん2010/06/30(水) 19:10:54ID:???
プログラム初心者か、ただのバカなんだろ。
優しくしてやれよw
0744nobodyさん2010/06/30(水) 19:36:55ID:???
会話になってねー
こんな馬鹿と一緒の職場とか想像すると寒気がするな
0745nobodyさん2010/06/30(水) 20:19:11ID:QOd5zTpX
現在Twitterでbotを作っているのですが、
質問がプログラムのことなのでこちらで質問させていただきます。

$hour = date('H');
if($hour < 12){
$jikan = array(
"時間" => array("AM","午前中"),
"午前" => array("AMです","午前中です"),
"午後" => array("まだAMです","まだ午前中です"),
);
}else{
$jikan = array(
"時間" => array("PM","午後"),
"午前" => array("もうPMです","もう午後です"),
"午後" => array("PMです","午後です"),
);
}

$data = array(
"6月" => array("6月です","JUN"),
"30日" => array("30日です","Thirty"),
"(時間|午前|午後)" => $jikan,
);

このように実装して
「時間、午前、午後」と書き込むと午前か午後によって違う返事を返すが、
「6月、30日」と書き込むと時間に関係なく同じ返事を返すようにしたいと思っていますが、
上記だと、「時間、午前、午後」とif文中の単語で話しかけると、
「Array」という文字列を返してきてしまっています。
まだPHPは初心者のため、すみませんがどこが間違えているのかご教授願えませんでしょうか。
よろしくお願いいたします。
0746nobodyさん2010/06/30(水) 20:35:59ID:???
エスパーじゃないんで、間違ってるであろう部分をみせてもらえんと
答えようがないよね? 
返事とか書き込むととか、話しかけるとか言われても
他人には分からないことだということは、理解頂きたい。
0747nobodyさん2010/06/30(水) 21:10:31ID:???
"時間" => array("AM","午前中"),
これを
"時間" => "午前中",
こうするとどうなるの?
07487452010/06/30(水) 21:51:29ID:QOd5zTpX
>>746
すみません・・・どう説明すればいいのかわからなくて・・・

>>747
そうすると、$jikanの中に"午前中"が入ります。
0749nobodyさん2010/06/30(水) 22:02:11ID:???
>>748
じゃあ、話しかけた時の処理にあると予想される、
$jikan[なんとか]
というところを
$jikan[なんとか][0]
こうするとどうなるの?
0750nobodyさん2010/06/30(水) 23:26:23ID:???
エスパーできないんで、質問返しで悪いが('A`;)
おまいさん、まさか出力が「$data」ってオチじゃないだろうな?
あと、出力結果が「Array」ってことは、配列を理解してないんジャマイカ?
「PHP初心者」って言ってるけど、PHP以外はどんなのを理解してんの?
0751nobodyさん2010/07/01(木) 02:22:42ID:???
Head first PHPと独習PHPとどっちがお勧めでしょうか?webプログラミングは始めてなんですが、
0752nobodyさん2010/07/01(木) 13:38:55ID:???
ウェブプログラミング以外のプログラミングは経験済みということですね?
0753nobodyさん2010/07/01(木) 22:35:32ID:BxoJrqT8
PHPのサブセットで、スクリプトのコンパイルと実行が出来るDLLがほしい。
ありますか。
0754nobodyさん2010/07/01(木) 22:36:53ID:HAlm0epV
ポータルサイトなどを見ていたら、URLが
view.php?a=index
としているサイトがあり、a=で各ページを指定して
テンプレートを読み込んでいると思います。

MVC的にこうする方が管理しやすいらしいのですが、
index.phpやentry.phpにする場合と比べて、メリットがよくわかりません。
なぜURLパラメータでテンプレート指定するのでしょうか?
0755nobodyさん2010/07/01(木) 22:54:15ID:???
MVCっていう単語を知ってるならwikiでggr
それでもわからんならまたこい
0756nobodyさん2010/07/01(木) 23:10:32ID:BxoJrqT8
なんでサーバーサイドのプログラムはPHPで
ユーザーサイドはJavascriptなんだ。
統一したほうがわかりやすいが。
0757nobodyさん2010/07/02(金) 00:18:35ID:???
サーバーサイドJSって流行んないよな
0758nobodyさん2010/07/02(金) 05:12:45ID:AwwkgWaD
PHPを一つのDLLにまとめて、多言語から呼び出せるようにしてほしい。
データベースとか単独で動かない機能はけずっていい。
0759nobodyさん2010/07/02(金) 07:42:33ID:???
クライアントサイドPHPなんてあるのか?
0760nobodyさん2010/07/02(金) 13:10:04ID:???
まぁ、扱うものが違うから統一は難しいだろうけど
基本的なとこの記述くらいは統一してほしいな。
JSで変数名に$付けて叱られたことが何度あったことか。
0761nobodyさん2010/07/02(金) 13:19:17ID:???
.と+で毎度苦しむ
0762nobodyさん2010/07/02(金) 13:29:35ID:???
>>759
JAVAみたいに個人のPCにインストールする形にすればあるいは・・・
0763nobodyさん2010/07/02(金) 13:30:26ID:???
>>760
jQueryを使うと、$が出てくるからまたややこしいですよ
0764nobodyさん2010/07/02(金) 15:15:32ID:VD/AbeYD
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1143079761

すみません、知恵袋なんですがおしえてください
全然わからないです・・
0765nobodyさん2010/07/02(金) 15:37:06ID:???
ヒント:変数のスコープ
0766nobodyさん2010/07/02(金) 16:14:02ID:tc4YOvkc
MVCについて相談です。
お問い合わせフォームのような機能がある場合

Model:DBへの追加やメール送信処理を行う(/model/contact.php)
View:お問い合わせフォームのテンプレートを選択(/template/contact.tpl)
Controller:どのファイルを操作するか指定。上記の例なら「contact」
そして結果を受け取って出力

と言う考えで正しいでしょうか?
そして、ControllerにModelの内容書いた方が早い気もするのですが、
それはやっぱり駄目なのでしょうか?
0767nobodyさん2010/07/02(金) 16:22:42ID:???
それでいいならもうMVCじゃなくていいじゃん
例えば半年放置して再開したときその真価が分かる
0768nobodyさん2010/07/02(金) 16:45:38ID:VD/AbeYD
>>764です
解決しました!
ありがとう
0769nobodyさん2010/07/02(金) 17:23:24ID:???
コントローラをもっと肥大化させよう
0770nobodyさん2010/07/02(金) 17:25:56ID:???
VはテンプレにおまかせだけどMとCはどこで線を引くかいつも悩むな
07717662010/07/02(金) 18:06:49ID:tc4YOvkc
皆さんありがとうございます。MVCの考え方自体は合ってるのでしょうか?

自分が作っているシステムでは、Controllerが肥大化する事はないので
Modelと分けなくても良いのではないか?と思っています。

ただ、コーディングを向上させたいので、MVCを勉強して
どういう分け方をすればいいか学んでいます。

オープンソースのOpenPNEとかEC CUBEとか見てますが、
classファイルが複雑化されていて、元を辿るのに一苦労です。
コーディング的にはそれが正しいのかも知れませんが。
0772nobodyさん2010/07/02(金) 19:36:02ID:???
「分けてて良かった」っていう経験がないと理解は難しいかね
疎結合とか単純化とか後で楽するため的な無駄な作業だからなw

考えを保守とかバグ対応とかに向けたら少し分かるかも。
0773nobodyさん2010/07/02(金) 20:15:37ID:???
Pythonだったらクライアントもサーバーもいけるよ
0774nobodyさん2010/07/02(金) 20:25:22ID:???
いけるかどうかなら
0775nobodyさん2010/07/02(金) 20:54:48ID:asARGkCP
PHP初心者でver.5.3.2をダウンロードしようとしたんですが、VC9 x86などの意味は分かるのですが、
Non Thread SafeとThread Safeの違いが判りません。
これらはどういった機能で、どちらを使えばいいんでしょうか?
07767752010/07/02(金) 21:14:48ID:gGj5zy9Z
事故解決しました
0777nobodyさん2010/07/03(土) 18:25:21ID:84+K0MiS
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail.php?qid=1243134947

すみません。質問なんですがこれわかるかたいませんか?

76行目は最後の行なんですが、なにが問題なのかがわかりません・・
0778nobodyさん2010/07/03(土) 18:39:53ID:???
ブレースの閉じ忘れじゃないかな
0779nobodyさん2010/07/03(土) 20:06:53ID:84+K0MiS
>>778
おおできた!w
ありがとう!
0780nobodyさん2010/07/04(日) 02:22:50ID:lkrZPMso
$config = DATA . $dataname . "/" . CONFIG_NAME;
すいませんこれってどういうことですが?質問自体バカで申し訳ない
0781nobodyさん2010/07/04(日) 02:37:21ID:???
>>780
http://jp.php.net/manual/ja/index.php
0782nobodyさん2010/07/04(日) 03:25:39ID:???
http://www.yourfilehost.com/media.php?cat=video&file=0620_minori_002.wmv

すみません。質問なんですがこの方が誰か分かる方いませんか?
0783nobodyさん2010/07/04(日) 03:35:25ID:lkrZPMso
>>781
非常にありがたいのですが、できればヒントをいただけると幸いです。
0784nobodyさん2010/07/04(日) 04:12:47ID:???
>>782
おまいさんはこっち
ttp://set.bbspink.com/test/read.cgi/avideo/1274977885/
ネタかも知れんが2chでの質問者は大概「age」だぞ
0785nobodyさん2010/07/04(日) 09:39:50ID:???
<<784
サンクス
0786nobodyさん2010/07/04(日) 10:38:00ID:fEOSEN4h
>>783
良い質問は良い回答から。
「これってどういうことですか?」と言う質問は漠然としすぎて、
質問になっていない。
答える方も困るんだよ。

「やかんってなんですか?」って聞かれて
「金属です。」「お湯を注ぐものです」「お湯をわかすものです」
たくさん答えができてしまうだろ。

「やかんってどういう物質でできているんですか?」
という具体的な文章で質問しなさい。

中学生2年女子より。
0787nobodyさん2010/07/04(日) 11:12:10ID:???
改造しようと思ったけど、定数が分からないってオチ?
0788nobodyさん2010/07/04(日) 12:38:39ID:???
定数というか「どうしてこういう書き方してるんですか?」だと思うけどな。

質問の仕方もそうだけど、回答する側もある程度質問者の
意図するところを汲み取るようにしないと。相手は分からないんだから。
エスパー出来ない奴は答えるべきじゃないよ。
0789nobodyさん2010/07/04(日) 13:34:13ID:???
どうしてこういう書き方をしてるかどうかなんて分かるわけないじゃん書いた当人じゃないんだから
国語のテストかよ
0790nobodyさん2010/07/04(日) 13:47:16ID:???
>>786
最後で吹いたw
0791nobodyさん2010/07/04(日) 13:57:27ID:???
>>789
俺ならこう答えるよ
「定数にする事で、共通ディレクトリや設定値を入れて
 各ファイルで呼び出すが出来るから。」
0792nobodyさん2010/07/04(日) 14:07:56ID:???
定数を知ってたらこんな質問しないだろうし>>787だろうな
0793nobodyさん2010/07/04(日) 16:02:43ID:???
文字列の足し算がわからないのかなと思った。

ちなみに . 足し算ってなんの言語由来?
0794nobodyさん2010/07/04(日) 17:06:01ID:/aajFMKw
if (isset($_POST["title"]) && $_POST["title"]) {

すみません、このifの条件文なんですが、どういうことなんでしょうか?;
変数がセットされていることと、もうひとつの条件がよくわからないです・・
0795nobodyさん2010/07/04(日) 17:24:09ID:???
true
0796nobodyさん2010/07/04(日) 17:28:16ID:???
!emptyだけでいい気もする
0797nobodyさん2010/07/04(日) 18:07:51ID:???
!= ""
じゃ駄目?
0798nobodyさん2010/07/04(日) 18:54:41ID:/aajFMKw
うーん・・
$_POST["title"]がtrueってどういうことを意味するのですか?
0799nobodyさん2010/07/04(日) 18:59:52ID:???
>>798
http://php.net/manual/ja/types.comparisons.php
ほい
0800nobodyさん2010/07/04(日) 19:35:11ID:/aajFMKw
>>799みました

注意: $xが定義されていない状態で単に if ($x)としてしまうと
E_NOTICE レベルのエラーが発行てしまいます。
代わりに、empty()や isset()を使うかあるいは変数を初期化するようにしてください

このことですか?
いまいちわからないです;
0801nobodyさん2010/07/04(日) 19:56:27ID:???
if($_POST["title"] == 0)
って判断したい場合、$_POST["title"]が未定義の場合もtrueと判断される。
それを防ぐため定義チェック(isset)を追加したりする。

んで>>794の場合は条件的にissetは必要ないのだけど、クセかなんかで
issetを付けちゃってるだけだと思う。
0802nobodyさん2010/07/04(日) 20:28:54ID:???
PHPの設定次第では、未定義参照でエラーっす。
で、issetでチェックしてあれば、ショートサーキットで後ろの評価しないんで・・・
0803nobodyさん2010/07/04(日) 21:59:15ID:lkrZPMso
>>780です。お返事ありがとうございます。
すいませんが、定数の定義付けってdefine("定数名","定数の値") でなくとも
できるのでしょうか?
どうしてこういう書き方をしているのかご教授お願いいたします。
0804nobodyさん2010/07/04(日) 23:07:11ID:???
どうして定数だと判断したの?
0805nobodyさん2010/07/05(月) 01:21:12ID:kve1q94K
constructの使い方について質問です。

class Main extends Sub
{
public function __construct()
{
echo $this->test;
}
}

abstract class Sub
{
public function __construct()
{
$this->test = 1;
}
}

$ob = new Main;


というコードを書いたのですが、何も出力されません。
イメージ的には継承されたSubの値がMainに反映されて
結果が表示されると思ったのですが、継承元でconstructは無理なのでしょうか?
0806nobodyさん2010/07/05(月) 02:01:53ID:???
>>805
子クラスでコンストラクタを定義した場合は
明示的に parent::__construct() で呼ぶ必要がある
0807nobodyさん2010/07/05(月) 04:49:47ID:???
>>801
issetは必要。存在し、未入力じゃないことのチェックのイディオムだよ。
0808nobodyさん2010/07/05(月) 05:10:09ID:???
!=か!emptyでも同じやん
0809nobodyさん2010/07/05(月) 05:13:11ID:???
>>807
揚げ足で悪いが未入力じゃないというのは語弊がある
正しくは存在し且つNULL以外で初期化されている変数だと思う
08108052010/07/05(月) 10:20:52ID:???
>>806
ありがとうございます。上手くできました。
0811nobodyさん2010/07/05(月) 12:23:16ID:???
テキストボックスに0が入力されたらどうなるんだろうな
0812nobodyさん2010/07/05(月) 12:54:33ID:???
内容は "0"だよな  == だと 0 でも trueだけど。
==による緩やかな比較の欄どぞ
http://php.net/manual/ja/types.comparisons.php
0813nobodyさん2010/07/05(月) 13:26:37ID:E/YNQXWp
if (isset($_POST["title"]) && $_POST["title"]) {
}
else {
echo "titleが未入力ですよ";
}

未入力チェックってこういうことだと思うんだけど、
"0"の場合に未入力と判定されちゃわない?

質問になってしまったのでID出し。
0814nobodyさん2010/07/05(月) 14:01:03ID:???
emptyは?
0815nobodyさん2010/07/05(月) 14:36:41ID:???
emptyは0を「存在しない」扱いしたはず
0816nobodyさん2010/07/05(月) 15:00:30ID:???
未定義でエラー出さんだけで ! つけたのとか、 == falseと同じでしょ。
0817nobodyさん2010/07/05(月) 15:06:22ID:???
>>813
される
それをやりたいなら
if(isset($_POST["title"]) && $_POST["title"] != "") {
}
とするべき
0818nobodyさん2010/07/05(月) 15:06:31ID:???
== null
もよく見るけど、あれと == "" とは違うの?
0819nobodyさん2010/07/05(月) 15:08:32ID:???
>>818
nullと空はまったくの別物
0820nobodyさん2010/07/05(月) 15:13:38ID:???
test
0821nobodyさん2010/07/05(月) 15:15:29ID:???
== null って有効だっけ?
is_nullをいつも使っているんだが
0822nobodyさん2010/07/05(月) 15:18:34ID:???
だからー
!== とか === 使えって。

== NULL って、 false でも 0でも 空の配列でも  "" でも 通るぞ。
0823nobodyさん2010/07/05(月) 15:25:57ID:???
書き込みできなくてイライラしてる人が沢山いるんだろうな
0824nobodyさん2010/07/05(月) 16:03:47ID:???
回答者は●を買いなさい
0825nobodyさん2010/07/05(月) 16:08:53ID:???
また大規模規制でもあったのか?
0826nobodyさん2010/07/05(月) 16:33:32ID:???
通年です
0827nobodyさん2010/07/05(月) 16:36:38ID:???
モリタポもらってp2お勧め
0828nobodyさん2010/07/05(月) 16:38:39ID:???
そろそろ夏休みの季節か・・・
0829nobodyさん2010/07/05(月) 16:42:07ID:???
大学の夏休みはたしか10月までだっけ?
08307942010/07/05(月) 17:07:39ID:XGgM750L
むずかしいなぁ・・

$_POST["title"]がtrueを返すときの条件が比較表?みてもわからない;

http://www.phppro.jp/school/phpschool/vol13/2
今このスケジュール表のプログラミングしてるんですが、このページの下のほうにある

<dl>
<dt><label for="schedule-title" id="label-title">タイトル
</label></dt>
<dd><input type="text" name="title" id="schedule-title"
value="<?php print(htmlspecialchars($_POST["title"],
ENT_QUOTES)); ?>" /></dd>
<dt><label for="schedule-body" id="labe-body">内容</label></dt>
<dd><textarea name="body" id="schedule-body">
<?php print(htmlspecialchars($_POST["body"], ENT_QUOTES)); ?>
</textarea>
</dd>
</dl>

これは正しいのですか?
何回試してもエラーが出てしまいます。
Undefined index: title in <b>C:\Apache2.2\htdocs\schedule_edit.php</b>
on line <b>121</b><br />
<br />
<b>Notice</b>: Undefined index: body in <b>C:\Apache2.2\htdocs
\schedule_edit.php</b> on line <b>125</b><br />
0831nobodyさん2010/07/05(月) 17:23:48ID:???
>>830
Undefined index: となってるから
$_POST["title"]と$_POST["body"]を空で送信(submit)してるでしょ
空で送信されたら未定義になる。
未定義なのにprintさせようとしてるからNoticeがでてる。

正しくはissetなどで確認してから・・・となるんだろうけど
この場合のNoticeは無視しちゃう所多いよ
0832nobodyさん2010/07/05(月) 17:39:17ID:???
>>830
http://www.php.net/manual/ja/language.types.boolean.php#language.types.boolean.casting

あとphpproの講座は使えないから他の本で勉強する事をお勧めする
0833nobodyさん2010/07/05(月) 17:41:56ID:qHUIRNCb
大角本がいいよ
0834nobodyさん2010/07/05(月) 17:48:04ID:???
ひろゆきオススメのあれか?w
0835nobodyさん2010/07/05(月) 18:26:03ID:E/YNQXWp
>>817
formで送られるデータって文字列として取得されることが保障されてるんだっけ?
それなら !== ""でよさそうだけど。

>>830
phpの内容がわからないのでどこが121行目かちょっとわからんとです。
0836nobodyさん2010/07/05(月) 21:22:59ID:???
>>831
最初のフォーム表示時じゃないの?
空で送信しても string(0) "" にならない?
■ このスレッドは過去ログ倉庫に格納されています