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

くだすれPHP(超初心者用)

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2006/06/12(月) 14:06:01ID:???
このスレッドは、他のスレッドでは書き込めない超低レベル、 
もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。 
PHP使いが優しくコメントを返しますが、 
お礼はPHPの布教と初心者の救済をお願いします。 

PHP Home Page 
http://www.php.net/
0242nobodyさん2006/08/21(月) 12:52:42ID:???
var_dump($a, $b, $c, $d);
でもはさんでみたらw
02432392006/08/21(月) 13:38:29ID:???
>>240
MySQLから読み込んだデータなんだけど、
MySQLの場合も改行がくっつく事あるのですか?
データ記録の仕方では、改行がついてないとは思うのですが・・・

>>241
>アホ。真逆だ。「$aが空白ではないならば」だ。
まったくその通り・・・orz
239での書き込みがミスですwww

糞まみれのオレだけど
「$aが空白ではないならば」に読み替えて、
教えてくれ〜
02442392006/08/21(月) 13:39:11ID:???
連投です

もう少しだけ、239を補足
239のスクリプトは、パスワード識別の為の部分なんですが、
$cはフォームで書込みされ、POST属性で受け取ったパスの値、
$dはMySQLに記録されいた値を呼び出したパスの値として
「$c、$dの値が両方Eとなっている時」に

$a = $c;
$b = $d;
if($a == ""){
echo "パスを入力して下さい。"
exit;
}
echo "$a";
echo "$b";
if($a != $b){
echo "$a";
echo "$b";
echo "パスが違います。";
exit;
}
以下、パスが認証されたとして、メインプログラム実行

とテストすると「EEEEパスが違います。」と表示され、
「EEEE」と表示されてる事から、
if($a != $b)が機能してないと推測したんだけど
何故???誰か助けてぇぇぇぇ
0245nobodyさん2006/08/21(月) 13:48:34ID:???
通学途中の女子高生のミニスカートが風でまくれあがってパンツがみえてしまうようなPHPを教えてください。
0246nobodyさん2006/08/21(月) 13:52:15ID:???
>>245
マ板に質問してみては?
あそこ、デスマーチで頭いかれている人多いから、なかなかナイスな回答がくるよw
0247nobodyさん2006/08/21(月) 13:53:33ID:???
マ板?
0248nobodyさん2006/08/21(月) 16:09:31ID:???
>「EEEE以下を実行する」
>と表示されてしまう

そのプログラムなら、その動作結果で正しいわけだが。
つまりお前が間違っている。
0249nobodyさん2006/08/21(月) 16:58:14ID:OxXNX8LD
こういう基礎的な論理式から理解できてないと逆にどう言ったらいいか困る
02502392006/08/21(月) 18:13:38ID:???
>>248>>249
オレが間違っているっていう事は、認識しているのだが
どう間違っているのかがわかっていないオレ・・・orz

オレの頭の中の思考もコメントで付け足しするので
どこでオレの思考回路が間違っているのか教えて欲しい

$cはフォームで書込みされ、POST属性で受け取ったパスの値、
$dはMySQLに記録されいた値を呼び出したパスの値として
「$c、$dの値が両方Eとなっている時」に

$a = $c;    //$cはEなので、$aの値はEになる
$b = $d;    //$dはEなので、$bの値はEになる
if($a == ""){    //$aの値はEだから、空白ではない
echo "パスを入力して下さい。"    //だからここは回避される
exit;    //ここは今は関係ない
}    //ここも今は関係ない
echo "$a";    //間違ってるみたいだから$aを表示、$aはEになってる
echo "$b";    //間違ってるみたいだから$bを表示、$bはEになってる
if($a != $b){    //$a、$bの値は共にEだから、ここから回避されるはず
echo "$a";    //Eと表示された・・・工エエェ(´Д`)ェエエ工
echo "$b";    //Eと表示された・・・工エエェ(´Д`)ェエエ工
echo "パスが違います。";    //表示された・・・工エエェ(´Д`)ェエエ工
exit;    //直前の3行がEと表示されたから、メインプログラムに行かないのは分かる
}    
以下、パスが認証されたとして、メインプログラム実行  //本当はここになるはずなのに・・・ショボン

実行結果は「EEEEパスが違います。」となる。
上のスクリプトでオレが期待しているのは
「EEメインプログラムを実行」と表示されることなのに・・・

0251nobodyさん2006/08/21(月) 18:25:53ID:???
>>250
もしそのコードでそういう結果になるのなら、
$aと$bの中身が違うとしか考えられないわけだが。

if($a != $b)

if($a !== $b)
にして試してみれば?
0252nobodyさん2006/08/21(月) 18:31:48ID:???
242は華麗にシカトですか?
0253nobodyさん2006/08/21(月) 19:41:21ID:OxXNX8LD
なんで>>242を試さないのか
02542392006/08/21(月) 20:10:01ID:???
>>242
レス遅くなってスマソ、
243の後でPHPマニュアル見たけれど、初心者なので
var_dump()の解説見たけど、理解できなかったんだよ・・・orz
それで後回しにしてしまったら、忘れてた。
今から他のサイトも見て検証してみる。





0255nobodyさん2006/08/21(月) 20:15:37ID:???
>>254
兎に角var_dumpで吐かせれば結果は出るだろうが
0256nobodyさん2006/08/21(月) 20:34:32ID:LbhS4bpH
こんにちわ。グーグルアドセンスって、どうやってページテーマにあった
広告を出してきているのでしょうか。

恐らくJavascriptだけでは、不可能だと思うので、PHPなども使用していると思うのですが、PHPが動かない
フリーサーバー等でも
サイトテーマにあった広告を出せるのが不思議でしょうがいないです。

ご存知の方いらっしゃいましたら教えてください。お願いします。
0257nobodyさん2006/08/21(月) 20:39:58ID:???
>>256
GoogleAdsense(に限らず配信型広告は大方)JavaScriptで、Googleのサーバにある広告データをもらってきている。
つまりプログラムはGoogleのサーバで動いているということだ。
02582392006/08/21(月) 20:57:00ID:???
var_dumpでやってみたよ
一部オレの勘違いがあった^^;
250では、$a = $c と置き換えていたが、$cをそのまま、突っ込んでいたよ
でも、影響はないと思われたので
var_dump($b, $c, $d);
とやってみたら
string(4) "0000" string(4) "0000" string(4) "0000"
と出たよ

よくわからんけどどう?
0259nobodyさん2006/08/21(月) 21:00:47ID:???
>>256
広告のコード見れば一目瞭然でしょ
0260nobodyさん2006/08/21(月) 21:29:56ID:???
>>239
var_dump($b, $c, $d);
なんで$aが無いのか・・素直じゃないねぇ
てかプログラムやるの無理じゃない?
0261nobodyさん2006/08/21(月) 21:48:21ID:LbhS4bpH
>>257 >>259
ありがとーです^^
見てもわからないんですよね。グーグル側のjsファイルを見てもjsスクリプトしか
記述してないんです。

こちら側のJSファイル(グーグルから貼り付けるように言われたJSファイル)を ME.js
グーグル側のjsファイルを Google.js と仮定します。

ME.js は Google.js を読み込むものである。
Google.js には DBと連携させる何かしらのPHPが書かれている。

ME.jsを読み込んだこちらのファイルは、もしPHPが動かないサーバーでも、
結局はグーグル側でPHPを動作させてこちら側のJSに結果を渡しているから
動くんですよ

と言う解釈で宜しいでしょうか。

0262nobodyさん2006/08/22(火) 06:59:06ID:???
>>258
そういう勘違いを他でもしてるんfだろ
ここに書いたサンプルコードだけでは分からんよ
0263nobodyさん2006/08/22(火) 15:06:25ID:???
>>258
ソースUPれ
0264nobodyさん2006/08/22(火) 19:19:23ID:???
PHP4とPHP5の互換性ってどんなもんなの?
PHP5の入門書で勉強し始めたんだけど、本番環境がPHP4だから恐ろしい。
気をつけるべき事とかあれば教えてください。
0265nobodyさん2006/08/22(火) 20:16:12ID:???
>>264
オブジェクト指向構文はPHP5から追加されたものが非常に多い
関数の引数が違うこともある

とりあえず、いきなり本番環境は止めてくれ。
ローカルでPHPのテスト出来る環境作って、そこでテストしろ
0266nobodyさん2006/08/22(火) 20:33:37ID:???
>>265
ありがとー。
引数の違いがあるのは痛いorz

テスト環境は自宅鯖で他人の作ったPHP動かす為に5.04が入ってるので大丈夫?です。
それ以降だと動かないモノがあるんで・・・
4と5って両方いれるの無理そうだし入れ替えるわけにもいかないし
困ったもんだ。
0267nobodyさん2006/08/22(火) 23:48:12ID:???
俺はmod版の4とCGI版の5を入れてテストしてる。
5メインにしたいけどなかなかそうもいかないのが辛い。
0268nobodyさん2006/08/23(水) 16:09:55ID:???
俺はCで4と5の切り替え用プログラム書いて使ってる
0269nobodyさん2006/08/23(水) 22:31:52ID:???
バージョン互換性がとても低いのがPHPのウリだからしょうがない。
027042歳2006/08/31(木) 03:53:00ID:Z0sApiUa
http://f4.aaa.livedoor.jp/~muni/sc0403.html#sche
を使って予定表を作りました。便利でキレイなんですが、
これのデータである 
/data/200608.dat
を読み込み 今日の内容だけを表示する 超簡単(そうな)プログラムがかけません。

 openfile();を使ったらいいというのだけがわかるんです。

dat の中身は
ちなみに

$maxno,$ctgno,$stamp,$putm,$putd,$week,$puthou,$putmin,$tit,$com,$timeflag,$settim,

となっており、

4,1,-1,08,16,3,,,お盆休み,,1,1150783667,

というようになっています。

最初がIDで、カテゴリーナンバー、次はログ並べ替え用スタンプ で、月、日、曜日、時間、分、タイトル、内容、というのはわかるんです。

日付とタイトルだけを抜き出して表示するにはどう書いたらいいんでしょうか?

絶対できそうだと思ったけど、脳がパンクしました。
0271nobodyさん2006/08/31(木) 04:02:29ID:???
>>270
explode()
027242歳2006/08/31(木) 04:07:33ID:Z0sApiUa
>>271
 ありがとうございます。
 http://www.scollabo.com/banban/php/php_05.html#explode
 とか見てみましたが、まったくわからないというか…。

 どっかに参考になるようなサイトだけでもあったら教えていただけたら。

 お金払います!って気持ちなんですけど。
027342歳2006/08/31(木) 04:14:09ID:Z0sApiUa
fileopenではなく。
fopen() でした。 
027442歳2006/08/31(木) 04:37:09ID:???
真剣に教えてくださる方を探しております。メールをください。
お礼は少しですが必ずさせていただきます。
0275nobodyさん2006/08/31(木) 06:39:19ID:???
>>266
Apacheを2つ入れるって手があるなぁと>両方いれる
0276nobodyさん2006/08/31(木) 07:21:44ID:at/JVgVZ
>>270
,をキーにsplitで区切った配列の該当要素を使うだけ
0277nobodyさん2006/08/31(木) 09:05:40ID:slzMI+G6?2BP(0)
特定ファイルについて、
http://から始まる絶対パスを抽出する方法ってないですか?
realpathだとhttpからは無理ですし・・・。
explodeでケツから/で割って頭をhttp://と交換する方法も考えたんですが、
どんな階層のディレクトリに置かれても機能するようにしたいので、
出来ればそれ以外で何かあればお願いします。
027842歳2006/08/31(木) 12:41:18ID:???
>>276
http://jp.php.net/split
ですが、これの例文みたいなのはどっかにないですか?

 重ね重ねすみません。 このPHPのサイトは私にとってほとんど意味がわからないのです。

 簡単なはずなんですけど。
0279nobodyさん2006/08/31(木) 13:45:55ID:???
正規表現がわからないならexplode見れ
0280nobodyさん2006/08/31(木) 13:53:23ID:???
>>278
$data = "a,b,c,";
$line = explode(",", $data);

foreach($line as $key => $value) print('$line['.$key.'] == '.$value.'<br>');

これで分かる?分かったら今凄く貧乏なのでお金ください。
0281nobodyさん2006/08/31(木) 14:05:23ID:???
>>270
fgetcsv()
028242歳2006/08/31(木) 14:20:51ID:???
fgetcsv()
なんてのがあるんですか? でもデータは /data/200608.dat なので

 Loadtextfile()
 とかで呼び出して、

 if($today==date());

で検索をかけて… というようなことを考えて 

 すみません。 ムリです。 誰かメールください。 マジに払います(そんな大金は払えないが)。
 これがわかったら、今後やっていけるような気がする。

 ムリか。
0283280じゃないが2006/08/31(木) 14:40:44ID:???
>>280はやったのか?スルーしてんじゃねぇよ社会のゴミ。
028442歳2006/08/31(木) 14:56:50ID:???
$dataを宣言するにも、それが  /data/200608.dat  に入ってるでしょう。

 で、最初に date() で日にちを 2006 と8に分けて、そのデータがあって、

 しかも 15日だったら 今日のが表示される… って 

 そういう条件が2つあると無理って感じで・

 あきらめたほうがいいだろうか。 
0285nobodyさん2006/08/31(木) 15:00:45ID:???
斉木由美という子を知ってるが、42歳じゃない
028642歳2006/08/31(木) 15:01:18ID:???
explode()

については ゲットしました!! わかった〜 うれし〜。というのがあります。
 ありがとうございます。 ゴミと言われてもしかたない。
028742歳2006/08/31(木) 15:04:48ID:???
42なです。 PHP改造しかしたことない。 10日で覚えるを一応読みましたが、まったく役立ってなかったなと。
0288nobodyさん2006/08/31(木) 15:05:18ID:???
>$dataを宣言するにも、それが  /data/200608.dat  に入ってるでしょう
ファイルから読み込んで変数にぶちこむ部分を分かりやすいように改変してるだけでしょうw
0289nobodyさん2006/08/31(木) 15:06:04ID:???
>>285
奇遇だな、俺も知ってるが42歳じゃない
好きだったんだけど苗字かわっちゃった

>>284 >>286
何を言いたいのか理解に苦しむ
とりあえず
> 日付とタイトルだけを抜き出して表示するにはどう書いたらいいんでしょうか?
これはできたってことか?
029042歳>>2712006/08/31(木) 15:08:12ID:???
>>289
 そうです。それはできそうだなと思いましたが…。
 
誰か全部書いてください。 というか、自分でやりたいような気もするが、
ここで挫折したら、全部挫折しそうだ。

 そもそもムリだったんだろうか。
0291nobodyさん2006/08/31(木) 15:10:29ID:???
> 誰か全部書いてください。

それを挫折とは呼ばないのか?w
029242歳>>2712006/08/31(木) 15:11:42ID:???
挫折だが金で解決して、学ぶ予定。
0293nobodyさん2006/08/31(木) 15:12:23ID:???
へぇ〜それが挫折じゃないなんてw
とってもプラス思考なんですね。
0294nobodyさん2006/08/31(木) 15:12:56ID:???
読み込んでなかった。>>293>>292見る前の発言。
029542歳>>2712006/08/31(木) 15:26:02ID:???
>>288 ソウナンデスケド…  がんばって本読みながら今夜もやってみますが。
 気になってたまりません。 このスレが。 仕事手につかん。
0296nobodyさん2006/08/31(木) 15:26:51ID:???
>>290

1) まずdate()から年と月を取得する
2) 該当するファイル(例:dat/200608.dat)が存在するかチェックする
3) あったらfgetcsv()でも使って配列$dataにでもぶち込む
4) $dataをループ処理でもして日付とタイトルを書き出す
5) ループしてる最中に今日の日付にマッチするのがあったら
    他の変数($todayData)にでも格納しておく
6) 格納しておいた今日のデータ($todayData)を書き出す

やりたいことはこういうことか?
一つずつクリアしてゆけ、さもなくば好きなだけ挫折しれ
あとは知らない
029742歳>>2712006/08/31(木) 15:31:46ID:???
>>296
 そういうことです。 意味は完全にわかるけど、書けるだろうか。

 こんな簡単なサンプルプログラムがない。 サンプル命できたもので、基本的にはわかってないなと昨日から実感しとります。
 
 1)の date() から年と月を取得するところから、

 $Month=date(M); とかでいいんでしょうか?
 そういうレベルなんですけど。

 これは私にはムリだと思います。
0298nobodyさん2006/08/31(木) 15:37:16ID:???
>>297
だからそれを一つずつ試しながらクリアしていけばいいじゃん

>これは私にはムリだと思います。
そう思うならあきらめなさい
029942歳>>2712006/08/31(木) 15:38:24ID:???
誰かバイトして
0300nobodyさん2006/08/31(木) 15:51:02ID:ntBbHdNQ
どなたか助けてください。

http://www.cgis.biz/script_web_cart/
ここで配布されているショッピングカートのphpを改造中で、
販売データをcsvに書き出す処理があるのですが、
購入商品の数だけcsvの行が増える仕様になっています。
1度の注文につき、どれだけの数の商品を購入しようが、
1行だけにしたいのです。
(販売商品データはcsvでは必要がないため、書き出さないようにしています)

多分この辺が怪しいと思うのですが...
「data_sell.php」のダウンロードcsvヘッダーの設定のあとの行から

$csv_head = mb_convert_encoding($csv_head,'SJIS','EUC-JP');
echo $csv_head;
for($i = 0; $i < count($log_all); $i++){
$log_array = split(",",$log_all[$i]);
for($j = 0; $j < count($log_all_i); $j++){
$log_i_array = split(",",$log_all_i[$j]);
if($log_array[0] == $log_i_array[0]){
$log_all[$i] = rtrim($log_all[$i]);
$log = $log_all[$i] . $log_all_i[$j];
$log = mb_convert_encoding($log,'SJIS','EUC-JP');
echo $log;
}

このどれかをいじればいいのじゃないかと思っているのですがどうでしょうか。
そんな単純じゃないだろうとは思うのですが、誰かお願いします。
030142歳>>2712006/08/31(木) 16:10:34ID:???
たぶんこれではわからないのではないでしょうか?
私だったらCSVデータをアクセスかなんかで引っ張って加工したらいいんじゃないかと思うんですけど。
エクセルでもいいけど。

ごめん。超初心者が何を言う。
0302nobodyさん2006/08/31(木) 16:17:38ID:ikYjbt78
初心者です。
PHPをインストールしてapacheを起動するとエラーになってしまいます。
Cannot load C:/php/sapi/php4apache2.dll into server: \x8ew\x92\xe8
\x82\xb3\x82\xea\x82\xbd\x83\x82\x83W\x83\x85\x81[\x83\x8b\x82\xaa
\x8c\xa9\x82\xc2\x82\xa9\x82\xe8\x82\xdc\x82\xb9\x82\xf1\x81B

C:/php/sapi/の下にphp4apache2.dll はあるんですがなんででしょうか?

ちなみに windowsXP apache2.2.3 PHP4.4.4 です。

すいませんが、わかる方おしえてください。
0303nobodyさん2006/08/31(木) 16:36:05ID:???
>>299
このスレで質問してる部分だけでいいならアルバイトって形で代行しても良いですよ^ω^
というか金ないのでやりたいですw
030442歳>>2712006/08/31(木) 16:44:10ID:???
>>303
 お願いします。 メールください。
0305nobodyさん2006/08/31(木) 16:44:15ID:ikYjbt78
>>302 です。
すいません。解決しました。
PHP5 に変更して、apache2.2 用のDLLをダウンロードして解決しました。
apache2.2 用のDLLをダウンロードしていれないとだめみたいです。
1日、なーんにもできなかった・・・・
030642歳>>2712006/08/31(木) 16:49:14ID:???
>>305 辛いですよね…。私なんか夜が夜でないですよ。最近…。でも、それを楽しむ人間性が必要なのだと。
0307nobodyさん2006/08/31(木) 17:30:49ID:???
こりゃこりゃ、そんなへたな釣りでアドレス収集してんじゃないよw
0308nobodyさん2006/08/31(木) 17:54:39ID:???
>>301
お前、一回氏んだほうがいいんじゃない?
030942歳>>2712006/08/31(木) 18:05:23ID:???
>>301
 そうなの??
031042歳 >>2712006/08/31(木) 18:20:05ID:???
メールは来ないの? 自分でやるのか…。
0311nobodyさん2006/08/31(木) 20:07:16ID:???
>>310
これ以上ログ流すのやめてもらえませんか?^^
それとこれだけいろんな人が教えてくれたのに「自分でやるのか…。」は失礼だと思いますよ
0312nobodyさん2006/08/31(木) 20:49:23ID:???
どーみても釣り。そのアドレスの主に嫌がらせしたいんだろ。主に通報するよう言っておくから、おうちで警察くるの待ってなさい。
0313nobodyさん2006/08/31(木) 22:17:43ID:???
>>287
PHP改造とは勇気ありますな。
0314nobodyさん2006/08/31(木) 22:19:00ID:???
警察出てきたらいなくなったw
031542歳 >>2712006/08/31(木) 22:34:27ID:Z0sApiUa
お陰様でよい出会いがありました。これから幸せに暮らします。 さようなら。
0316nobodyさん2006/08/31(木) 23:59:03ID:???
>>272
金払気うならPHPプロ!で質問すればいいと思う。
031742歳2006/09/01(金) 00:24:57ID:+wXqiG2u
いや そんな大金じゃないから。 でも、とっても親切に教えてもらって、今後の研鑽になりました。
また教えてください。 こちらのログも決してムダにせず、私の血となり肉となります。

 早速今夜も眠れない。
0318nobodyさん2006/09/01(金) 00:58:26ID:???
>317は PHPプロ! を知らないに25zeev
0319nobodyさん2006/09/01(金) 03:17:12ID:???
>>315
慌ててメアド欄を消してももう遅いよwww
お前は警察に逮捕されるだろう。

まあ、しょぼいストーカーか、陰湿な嫌がらせか、とにかくタイーホだねwww
もしタイーホされたくなければ、今すぐ自分の実名を名乗って謝罪しといたほうがいいんじゃない?
0320nobodyさん2006/09/01(金) 03:36:54ID:???
妙に伸びてると思ったら。
どうでもいいからもう42関係のレスやめろよ。
032142歳2006/09/01(金) 14:17:34ID:+wXqiG2u
http://www.phppro.jp/
ですか? 知りませんでした。 これも役立ちそうです。 ありがとうございます。
0322nobodyさん2006/09/05(火) 16:47:55ID:rnjtfRTm?2BP(0)
どなたか>>277お願いできませんか?
0323nobodyさん2006/09/05(火) 18:19:25ID:???
>>322

$myURL=str_replace($_SERVER['DOCUMENT_ROOT'],"http://";.$_SERVER['HTTP_HOST'],$_SERVER['SCRIPT_FILENAME']);

こうゆうこと?
外してるかもしれんし、もっとスマートな道がある気もする
0324nobodyさん2006/09/05(火) 20:56:32ID:???
>>277
define('SCRIPT_URL', (empty($_SERVER['HTTPS']) ? 'http' : 'https').'://'.$_SERVER['SERVER_NAME'].$_SERVER['SCRIPT_NAME']);
0325nobodyさん2006/09/06(水) 19:26:47ID:???
PHPでセッションを登録し、別のPHPのファイルにformで移動すると
SESSIONが保持できません。

SELFで自分に戻るとSESSIONの中身は取れているのですが、
何が考えられるでしょうか?

ちなみにSESSIONをセーブして中身をみていたら、
別のページに移動したときに2個目のセッションが作成されていました。


0326nobodyさん2006/09/06(水) 21:10:09ID:???
>>325
対処法:
一度首を吊ってみる
0327nobodyさん2006/09/07(木) 10:28:51ID:fMyB6iZL
PHPで2次元配列で、

for($i = 0 ; $i < 5; $i++){
for($ii = 0 ; $ii < 5; $ii++){
$arr[$i][$ii]=1;
}}
print "$arr[3][3]";

の様な事をしたいのですが、出力される値がArrayしか出なくて困っています。
2次元配列を簡単に組めるにはどうしたらいいのですか?
0328nobodyさん2006/09/07(木) 10:39:34ID:???
>>327
print_r() または var_dump()

少しはマニュアルを検索しろウンコ野郎!!
0329nobodyさん2006/09/07(木) 12:37:25ID:???
>>327
print $arr[3][3];
or
print "{$arr[3][3]}";
0330nobodyさん2006/09/07(木) 13:51:21ID:???
>>327
""で括ってどうするんだ、お前は・・・
0331nobodyさん2006/09/09(土) 02:41:28ID:C6V07CE/
下記の様な配列があるとします。

要素[1]さんの状態は[2]
要素[3]さんの状態は[4]
要素[5]さんの状態は[6]

[配列ary]
array ( [0] => ココカラ [1] => Aさん [2] => 元気 [3] => Bさん [4] => まあまあ [5] => Cさん [6] => 空元気 )

ここからCさんの状態を調べるスクリプトを書いてみたのですが

for( $i=1; $i<5; $i+2)
{
if(strpos($ary[$i], 'Cさん')==false)
{
}
else
{
$j = ++$i;
$status = $ary[$j];
}
}

何故かこうすると動かず、for文の$i+2を$i++に変更すると正常に動きます。
そもそも$i+2という記述はおかしいのでしょうか?教えてください。
0332nobodyさん2006/09/09(土) 03:18:23ID:???
>>331
とりあえず他は知らんけど、 $i+2 は $i+=2とか

名前と状態に等しいものが無いという前提でarray_search()
$j = array_search("Cさん",$ary);
if ($j != false) {
echo $ary[++$j];
}
な感じ
0333nobodyさん2006/09/09(土) 03:53:04ID:???
print "htmlのソース";みたいに全てするのと、必要なところだけ<? phpのプログラム ?>みたいな
感じで記述するのでは負荷等は変わってくるのでしょうか?
0334nobodyさん2006/09/09(土) 03:53:32ID:???
>>331
若干ズレた答えだけど
Array(
  [Aさん] => 元気
  [Bさん] => まあまあ
  [Cさん] => 空元気
)
とか
Array(
  [0] => Array( [name] => Aさん  [status] => 元気 )
  [1] => Array( [name] => Aさん  [status] => そこそこ )
  [2] => Array( [name] => Bさん  [status] => 空元気 )
)
にしたほうがわかりやすいかもしれないね、うん
03353312006/09/09(土) 05:53:34ID:C6V07CE/
>>332

ありがとうございました。
+=2で美味くいきました。

アドバイス頂いてからマニュアル見直してみたんですけど、$i+2だけだと代入しないんですね。
試しに
for( $i=1; $i<7; ($i=$i+2))

こうしてみたところ、これでも期待通りの結果が得られました。
あ、あとarray_serchという関数ありがとうございました。初めて聞く関数だったので今後の参考にします。
#只、今回は状態に同一の値が入る可能性があるので、やめときました。

>>334
そうですね。Array[0]に不必要な値もある事ですし、ちょっと綺麗にしようと思います。

何はともあれ、これで眠れそうです。ありがとうございました。
0336nobodyさん2006/09/09(土) 06:16:44ID:PgI2vPCa
PHPでlat.txt、lon.txtから緯度(lat)、経度(lon)を取り出して、
google mapに反映させたいのですが、

うまくgoogle mapに反映できません。

多分、PHPで読み出したデータをjava script側にうまく
渡せていないと思うのですが、よくわかりません。

すみませんが、ご教授お願いします。
ソースの主要部分を抜き出します。

<?php
$handle = fopen ("lat.txt", "r");
$lat = fgets($handle, 1024);
fclose($handle);

$handle = fopen ("lon.txt", "r");
$lon = fgets($handle, 1024);
fclose($handle);
?>

function onLoad() {
map.setCenter(new GLatLng( $lat , $lon ),4);
marker = new GMarker(new GPoint( $lat , $lon ), markeropts);
}
0337nobodyさん2006/09/09(土) 06:20:58ID:???
>>333
まあ、よっぽど大きなサイズでない限り、どちらの方式でも
無視できる程度の負荷の差しかないと思うけど。

ただ、ソースの見通しの良さとか考えると、前者のほうがオススメ。
0338nobodyさん2006/09/09(土) 07:01:23ID:???
>>336
function onLoad() {
map.setCenter(new GLatLng( <?php echo $lat ?> , <?php echo $lon ?> ),4);
marker = new GMarker(new GPoint( <?php echo $lat ?> , <?php echo $lon ?> ), markeropts);
}

かな
0339nobodyさん2006/09/09(土) 10:38:32ID:/+q9xMfe
何回やってもhttp://localhost/phpinfo.phpをダウンロードしようとする。
アパッチはインストールできたけどPHPがうまくいかない。発狂しそう。
0340nobodyさん2006/09/09(土) 10:43:22ID:???
>>339
AddType application/x-httpd-php .php
0341nobodyさん2006/09/09(土) 10:48:47ID:/+q9xMfe
>>440
それは追加しました。
でも「LoadModule php5_module c:/php/php5apache.dll」を書くと
アパッチが再起動できなくなってしまいます。
バージョンは
PHP-5.1.6
Apache-2.2.3
を使ってるんですが、
これよりも前(といってもPHP5)の解説サイトを見ながら設定しても上手くいかないもんなんでしょうか。
■ このスレッドは過去ログ倉庫に格納されています