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

【PHP】質問スレッドpart23【php】

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん04/10/05 17:36:38ID:???
・PHP全般の質問スレです。
・新規質問の方は上げてください。age進行でお願いします。
・質問する際には環境も明記。
・正しい日本語で分かりやすく。
・レスがつかないからって逆切れする厨お断り。
・解決しなくてもこたえてもらったら礼を。


■本家
 http://www.php.net/

■日本 PHP ユーザ会
 http://www.php.gr.jp/

■PHP マニュアル
 http://www.php.net/manual/ja/

■PEAR マニュアル
 http://pear.php.net/manual/ja/

過去スレ, 関連スレ等>>2-4
0896nobodyさん04/10/30 01:33:39ID:???
$image = imagecreatefrompng("./puyo/w_01.png");
imagepng($image);

こう書いたんですが、

臼NG

としか表示されないんですがどうしてでしょうか?
鯖はXREAで、GDライブラリも最新版のものが入っていたはずです。
0897 04/10/30 01:53:54ID:???
配列$array.Key 4.5.6を合計したい(valueは当然数字が入ってる)んだが、上手く行きません
0898nobodyさん04/10/30 02:10:16ID:???
>>896
HTTPヘッダ。
0899nobodyさん04/10/30 06:57:43ID:???
>>886
join()なんか使うな
implode()使え
0900nobodyさん04/10/30 07:07:04ID:???
>>899
あーあ、マニュアルチェックしてから書けばよかったのに・・・

http://www.php.net/manual/ja/function.join.php
> join() は implode() の 別名で、実体はまったく同じものです。
0901nobodyさん04/10/30 07:49:34ID:???
>>896
ココを嫁!
http://www.pahoo.org/e-soul/webtech/phpgd/phpgd-02-02.shtm
0902nobodyさん04/10/30 08:22:01ID:???
>>900
別名でなく本名を使えと言いたかったのでは
0903nobodyさん04/10/30 09:32:45ID:???
>>902
でもjoinならperlに全く同名でほぼ同じ働きの関数があるから、
perlからの移行組なら簡単に理解するんじゃないかと
884や886は思ったんじゃないか?


でもその意図は元質問者には理解されなかったようだけど・・・
0904nobodyさん04/10/30 10:24:48ID:eL+7QS/f
ども。
今PHPでのディレクトリ操作等について勉強中なのですが、

年別フォルダを作成し(今年ならば2004)
フォームに内容等を書き込み日付_101(1030_101,1030_102)というようなファイルを作成して、
そのファイルに変数として内容格納し,それをインクルードさせて一覧表示する。
といったようなプログラムを作成中です。

ディレクトリ、ファイルの作成、変数の書き込みはうまく行ったのですが最新のファイル順に読み込んで表示させるといった部分で詰まってしまいました。
良い方法がないもんでしょうか・・・
0905nobodyさん04/10/30 11:03:48ID:???
わざわざエイリアス使わなずに元の使え、ってことだろ
自慢げにまぬあるのURL晒されてもな・・
0906 04/10/30 11:48:56ID:???
動きゃいいんだよ、動きゃ。
0907nobodyさん04/10/30 12:36:52ID:???
ファイル削除も delete() でいいんだよ!
0908nobodyさん04/10/30 12:37:47ID:X9SzlMJ/
http://script.s16.xrea.com/2ch/
↑の掲示板をサーバー設定EUC環境で設置したいのですが、
具体的にどこをいじればいいでしょうか?
何もしない状態でFFFTPでアップすると書き込んで更新するときに文字化け+
エラーが出ます。
サクラエディタですべてのファイルを、charset="Shit_JIS"を全てcharset="EUC-JP"に変更 且つ
EUCコードで保存してアップすると真っ白の画面が出てくるだけですo(-_-;*) ウゥム…
どうすればいいでしょうかil|l|_| ̄|○|l|li
0909nobodyさん04/10/30 12:51:21ID:???
>>905
>>899乙
0910nobodyさん04/10/30 12:54:48ID:???
>908
どこがどう文字化けしてんだよ。
もっと具体的に書け
0911nobodyさん04/10/30 12:58:41ID:???
どっちが元なんて関係あるのか?
廃止予定の関数でもあるまいに。
0912nobodyさん04/10/30 13:02:12ID:???
>>908
もっと簡単なスクリプト書いて試してみろ
0913nobodyさん04/10/30 13:15:03ID:X9SzlMJ/
>910

<何もしない状態でFFFTPでアップすると書き込んで更新するときに文字化け+
<エラーが出ます。

・管理メニューの設定変更という画面で設定更新というボタンをクリックして更新
しようとすると漢字平仮名がすべて半角カタカナ、点などに文字化けします。
(アップして何もしない状態では文字化けは発生していません。早い話更新をするとすべてが文字化けします)

・書込みが可能な画面で書込みをしようとするとERROR:ユーザー設定が消失しています!
というエラーが発生し、書き込もうとした内容がすべて文字化けしています。
0914nobodyさん04/10/30 13:16:48ID:X9SzlMJ/
>912
ほかに設置した掲示板は
>サクラエディタですべてのファイルを、charset="Shit_JIS"を全てcharset="EUC-JP"に変更 且つ
>EUCコードで保存
のみで正常に作動しますた( ゚∀゚)
0915nobodyさん04/10/30 13:32:07ID:???
お前もう死んで良いよ。
0916nobodyさん04/10/30 13:34:16ID:???
>>914
それはおかしな話だな。
grep -r sjis *を掛けると mb_convert_kanaが見つかったのだが。
地道に全部のファイルに目を通して修正していくのが良かろう。
0917nobodyさん04/10/30 14:45:39ID:???
>>898
>>901
どもありがとう。

ということで
header("Content-type: image/png");
$img = imagecreatefrompng("./puyo/w_01.png");
imagepng($img);
imagedestroy($img);
こう書いてみたんですが、やはり同じエラーになってしまいます。
何か他に原因があるのでしょうか?
0918nobodyさん04/10/30 15:00:15ID:c8pJE3eD
お聞きしたいのですが、オブジェクト指向において、
あるクラス内で使いたい関数が他のクラス内にある関数と全く同じものだった場合、
そこから呼び出してきたほうがいいのでしょうか?
これはオブジェクト指向の考え方とすこし違うような気もするし、
呼び出した場合もコードが長くなって、なんだかな・・・といった感じです。

どのようにするのが最善な方法でしょうか?
0919nobodyさん04/10/30 15:01:39ID:c8pJE3eD
>呼び出した場合もコードが長くなって、なんだかな・・・といった感じです。
は、
>呼び出さない場合もコードが長くなって、なんだかな・・・といった感じです。
でした、すみません。
0920nobodyさん04/10/30 15:31:54ID:X9SzlMJ/
>916
頑張ってみます
0921nobodyさん04/10/30 16:28:23ID:???
>>918
Interfaceかな。PHP4では使えないから abstract class でなんとか代用する
0922nobodyさん04/10/30 17:06:57ID:KmTYtaw8
カリカリに速度を稼ぎたい人用のPHPのアプリケーションサーバってないですか?
apache_module じゃなくて。
javaだとserlvetで言うところのapplicationContextに常駐キャッシュ置いたりして使えるような。


0923nobodyさん04/10/30 17:14:54ID:c8pJE3eD
>>921
返信ありがとうございます。
あれから、調べてみたのですが、
さっきの二つのクラスに基底クラス(抽象クラス)を作り、
継承させればいいということでしょうか?
(的外れだったら申し訳ありません。)
092489904/10/30 18:01:12ID:???
勝手に終了されちまったが。。
PHPは関数名がコロコロと変わる

例
set_socket_timeout()
↓
socket_set_timeout()
↓
stream_set_timeout()

急に互換性なくなったかと思えばPHP5になっても残ってたり。
だから、エイリアスより本命の関数を使えと言いたかったのが一つ。

んで、注意しなければいけないのが、split()とexplode()は意味が違う事。
俺はPHPではsplit()を使う事はまずなく、動作速度も速いpreg_split()を使う。

だから、implode()⇔explode()の対で覚えた方が良いというのが一つ。
正規表現が必要な時のみpreg_split()を使うと覚える。


とまぁ>>899の2行からこの程度の事は汲み取って欲しいわけだが、お前らには無理ですか?
092589904/10/30 18:10:11ID:???
>>917
質問の際は名前の部分に元質問の番号を書いておいてくれると見やすい。

XREA使ってるそうだけど、広告が自動挿入される無料鯖では?
092689604/10/30 18:24:04ID:???
(!_!)それか!
092789604/10/30 18:28:06ID:???
うはぁー、見事できました。
どうもご迷惑をおかけしました<(_ _)>
0928nobodyさん04/10/30 19:25:45ID:???
sendmail使わずに簡単なメールフォーム設置したいのですが、
ログファイルに記事を書き込ませて、それを管理側が読むって形はまずいでしょうか?
簡単に第三者に覗かれちゃいますか?
0929nobodyさん04/10/30 19:43:31ID:???
覗かれないようにしたら?
PHP関係ないよ
093083504/10/30 20:10:53ID:???
>>835の質問に答えてくださった方ありがとうございます。
093188604/10/30 22:18:16ID:???
>>924
いいたい事は理解できるが、俺はまさに>>903が指摘してくれた理由で
joinを使ったんだよ。一旦echoと書きたところをprintに直したのもそう。

似たような関数で速度が異なるのもそうだが、引数の順番が微妙に
入れ替わってたりするのもいやんだな。そういう部分に手が入ることは
この先もずっと無いのだろうか?
0932nobodyさん04/10/30 22:55:10ID:NqoZ1zP0
両方とも並より下なんだからさ、せめて場を汚さないぐらいは守って欲しいよな

コンプレックスの応酬ってさ、見てて気持ち悪いだけだしさ
0933nobodyさん04/10/30 22:59:32ID:mTugq4bl
          |
          |
          |
         J

     /V\
    /◎;;;,;,,,,ヽ
 _ ム:::(;゜Д゜):|  ドキドキ
ヽツ.(ノ:::::::::.:::::::.:..|)
  ヾソ::::::::::.:::::::ノ
   ` ー U'"U'
  
0934 04/10/31 00:30:04ID:???
配列でKeyが偶数の値を取り出すのは

while(){
$n = 2n;
$hoge = $array["$n"];
$hogehoge[] = $hoge;
}

じゃないの?
0935nobodyさん04/10/31 00:46:00ID:???
foreach ( $arr as $key => $value ) if ( $key % 2 == 0 ) $arr2[] = $value;
0936nobodyさん04/10/31 00:50:05ID:???
初歩的な質問ですが、

$a1 = "hhhh";
$a2 = "oooo";
$a2 = "gggg";
for($i=0;$i<5;$i++){
echo $a."$i";
}

$a1 $a2 $a3 とする表現する方法を教えて下さい。
0937nobodyさん04/10/31 00:54:51ID:???
>>936
このスレか前スレか読み直してみ
0938nobodyさん04/10/31 00:58:46ID:???
${"a".$i}
0939nobodyさん04/10/31 01:07:13ID:???
>>938ありがとう
0940nobodyさん04/10/31 01:27:34ID:???
>>936
素直に配列にする方がいいと思われ
0941nobodyさん04/10/31 01:49:24ID:R5h305R8
質問させてください。
PHP + MySQL の環境を作る際の質問です。

ある書籍で
「PHPのインストールの前に必ずMySQLをインストールしておくこと」
というような記述があったのですが、これは何を意図しているのでしょうか?
これを怠った場合にどういうことが想定されるのでしょうか??

ご教授よろしくお願いします。

0942nobodyさん04/10/31 01:52:37ID:???
んなこたーない
0943nobodyさん04/10/31 01:54:51ID:???
あ、Unix系のインストールかな?
漏れはやったことないから分からん。
簡単な予想としては、MySQLを先にインスコしたあとPHPをインスコするとMySQLのインスコ状態を認識して
自動でMySQLが使えるようになるんじゃね?
0944 04/10/31 02:02:06ID:???
>>935
ありがとう
0945nobodyさん04/10/31 05:04:12ID:???
>>941
mysqlのクライアントライブラリやヘッダーファイルの食い違いの問題。
だだ、そこの「必ず」は(スムーズにインストールを進めるためには)必ず程度の意味だと思うよ。
0946nobodyさん04/10/31 13:04:25ID:sxTaJgq6
PHPでアクセス解析を試みようとしています。

対象ページにイメージタグ
<img src="http://dabudabu.hoge.co/hoge.php" width="1" height="1" />

を挿入することで、
対象ページ間の移動を把握したいです。

しかし、上記 hoge.php にてクッキー発行処理を行っても、
うまいこと処理されません。

もちろん、HTTPプロトコル上、
クッキーの設定はHTML出力前のヘッダー部で行う必要があることは把握している
のですが、

上記要件をクリアする hoge.php を作成できないものでしょうか?
よろしくお願いします。
0947nobodyさん04/10/31 13:09:24ID:???
ヘッダ送信済みだから絶対無理では?
0948nobodyさん04/10/31 13:25:08ID:???
>>946
htmlの中でクッキー送信してもねぇ・・
0949nobodyさん04/10/31 13:32:17ID:qucf7+9r
>>948
送信じゃなくて、作成ってことを言いたいんだろ
0950nobodyさん04/10/31 13:37:44ID:???
対象ページ全部phpにして
クッキー出すところでインクルードでもしてろ
0951nobodyさん04/10/31 13:58:14ID:sxTaJgq6
説明が足りず、申し訳ありませんでした。
第三者にアクセス解析を提供したいと考えています。
第三者のホスティングサーバでは必ずしもPHPエネーブルなわけではないので、
第三者が容易に組み込める手法として、HTML内のイメージタグSRCアドレスでアクセス解析を実現したいです。
0952nobodyさん04/10/31 14:04:19ID:sxTaJgq6
951の続きです。
例えば、
http://www.uwg.co.jp/
では正に同様の方法で、実際にクッキーが発行されます。
彼らはどんな方法で実現しているのでしょうか。
0953nobodyさん04/10/31 14:07:41ID:R5h305R8
MacOSX PHP4 MySQL4.1
ローカルに環境構築をしている最中です。

インストール後、PHPとMySQL間の連携がとれていないらしく
PHPからMySQLへのコネクションのテストを試みているのですがうまくいきません。
環境構築時に何か特別な設定をする必要はあるのでしょうか。
たとえば明示的にPHPとMySQLを連携しますというような設定を
しなければならないとか。
接続はホスト(localhost)、ユーザ名(root)、パスは(MySQLフォルダのあるディレクトリ
)を与えて試しています。

よろしくお願いします。
0954nobodyさん04/10/31 14:11:59ID:???
>>952
Cで書け。
0955nobodyさん04/10/31 14:28:47ID:???
>>953
> うまくいきません。
どういうインストールの仕方をしたか、どういう風にうまくいかないのか、
全く書いてないから、まぁがんがれとしか言えんよ。
Fatal error : Call undefines function: てのだったら、
わざわざMySQLを使えないように構築したPHPを
好き好んでインストールしたということだから、当然の帰結になる。
095695304/10/31 14:47:12ID:R5h305R8
<?php //test_code01
//データベース接続開始
$link = @mysql_connect($host,$name,$pass) or die ("接続エラー");
print "データベース接続に成功しました"."<br>\n<hr>\n";
?>

というようなコードをhtml内に記述したtest.phpをブラウザで確認すると
上記のコードに従い、"接続エラー"が表示されてしまうのです。
もちろんコード内で変数はていぎしています。
0957nobodyさん04/10/31 15:05:38ID:???
わざわざ@を付けるってことはエラー表示を抑止してるってことだから、
原因を絞り込めないのも当然の帰結となる。
095895304/10/31 15:20:08ID:R5h305R8
>>957
アドバイスありがとうございます。
@を削除して実行した結果、下記のエラーが表示されました。

Warning: mysql_connect(): Client does not support authentication protocol requested by server; consider upgrading MySQL client in /Users/○○○○○○/Sites/con_test_mysql.php on line 27
27行目とは先ほどのコードの
$link = @mysql_connect($host,$name,$pass) or die ("接続エラー");
の部分です。
0959nobodyさん04/10/31 15:32:02ID:???
      _______                     __
    // ̄~`i ゝ                    `l |
    / /        ,______   ,_____    ________  | |  ____ TM
   | |     ___ // ̄ヽヽ // ̄ヽヽ (( ̄))   | | // ̄_>>
   \ヽ、   |l | |    | | | |    | |  ``( (.  .| | | | ~~
      `、二===-'  ` ===' '  ` ===' '  // ̄ヽヽ |__ゝ ヽ二=''
                         ヽヽ___//   日本
         ____________________________________
         |Client does not support Authentication protocol | |検索|←をクリック!!
          ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
         ◎ウェブ全体  〇日本語のページ
0960nobodyさん04/10/31 15:35:03ID:???
>>958
not support authentication protocol
これが出るということはPHP側のMySQL Client API versionが
低いということ。つまり、PHPのビルド時に正しくMySQLのパスを
セットしていないのが原因。
確認方法はphpinfo();
0961nobodyさん04/10/31 15:48:08ID:/ekEcexr
すいません

 カレントディレクトリまでのルートのリンクを作成したいのですが、
お知恵をお貸しください。

 HPの上段によく「メイン >> コンテンツ1 >> サブコンテンツ1」
ホームディレクトリから現在表示しているhtmlがあるディレクトリまでの
経路を出していると思うのですが、これをプログラムでやろうとすると、
シェルスクリプトだと、pwdで現在のhtmlがあるカレントディレクトリを
取得して、正規表現を使って、Linkを作成するというのが思いつくのですが、
PHPでやろうとすればまったく思いつきません。

やろうとしているHPの全体は、

HP上段にカレントディレクトリまでのリンク
HP下段左側にディレクトリをリンクとして使うため、下記のようなPGを書き、

    $hdl = opendir("/home/k-uda/public_html");
    while(($dname = readdir($hdl)) !==false){
        if(!is_file("$dname") && $dname != "." && $dname != ".."){
            echo " <p><b><a href=$dname>$dname</a></b></font></p>";
        }
    }

HP下段右側にインフレームでディレクトリの中のhtmlを表示
使用としています。

どなたか、お教えください。お願いします。

0962nobodyさん04/10/31 16:15:56ID:???
>>961
phpの問題じゃない気がするけど
HPが
メイン >> コンテンツ1 >> サブコンテンツ1という構成で
サーバー側のディレクトリ構成も同じなら
./でカレント../で一個上../../で二個上のディレクトリを表現できるからそれで良くないか?
096395304/10/31 16:38:00ID:R5h305R8
>>960
最初はPHP4とMySQL4.0だったのですが
最近Mysqlを4.1にしたので、その辺りで
認識がうまくいっていないのだろうと予測してます。

phpinfo(); で確認しました。
ConfigureCommand欄の'-with-mysql=/○○/○○/mysql'は
パスとして合っているようです。

対策としてはもう一度
configure→make→makeinstall
をし直せば、クライアントは最新のversionとして
認識されるんでしょうか??
0964nobodyさん04/10/31 16:41:58ID:???
>>963
聞く前にやってみるべし

って、phpを入れ直すんだよな?
そのまま同じソース使うんならmake cleanしてからやらないと嵌るかも。
新しく展開してできるならそっちの方がいい気がする
096596004/10/31 17:32:51ID:???
>>963
確認するのは、MySQL Client API versionだよ。
3.xxになってたら、PHPにビルトインしている奴で、新しいMySQLが
要求する authentication protocol をサポートしていないって事。
あとは>>964のいうとおり。
096695304/10/31 17:37:50ID:R5h305R8
>>960
たびたびすみません。
phpinfo(); で確認しました。

Serverは4.1。
MySQL Client API versionは4.0.21でした。
この違いが問題なのですね。

ですのでClient API のバージョンを4.1に引き上げるのが
問題の解決策になろうと思っていますが方法がわかりません。
ご教授願えませんでしょうか?

>>964
make clean とはアンインストールのようなものでしょうか。
だとするとアンインストールの対象を指定したりする必要は
ないのでしょうか?

0967nobodyさん04/10/31 17:48:08ID:???
>>966
アンインストールはmake uninstall
make clean はソースディレクトリ以下にあるmakeしたモノをclean(消す)するだけ

他はここで聞くよりそれっぽいキーワードでぐぐった方が早いような気がする
096895304/10/31 17:55:36ID:R5h305R8
>>960 >>964
いろいろとありがとうございます。
makeclean→configure→make→makeinstallを試してみます。
とても助かりました。
0969nobodyさん04/10/31 19:53:49ID:???
RDFを読むスクリプトを作ってます。
<desc>うんたら</desc>
みたいな記述のところは
function startElement( $parser, $tagName, $attrs )
の$tagNameでswitchすれば
うまく引っかかってくれるのですが、

<dc:title>なんたら</dc:title>
とか
<mm:Creator>あの人<mm:Creator>
みたいなところは拾ってくれません。
こういうタグを拾うにはどうしたらいいんでしょうか?

0970nobodyさん04/10/31 20:03:48ID:???
正規表現を勉強しろ
0971nobodyさん04/10/31 20:54:39ID:PqZ8V0+W
register_globalsがOnのバージョンのPHP(4.1.0より前)に対応するために
$_SERVER = $HTTP_SERVER_VERS;
といったようなものがある(と思う)のですが、ここの
$HTTP_SERVER_VERS
とはなんですか?
マニュアルを検索してもでてこなかったもので…
0972nobodyさん04/10/31 20:55:08ID:???
>>970
( ´,_ゝ`)
0973nobodyさん04/10/31 20:59:55ID:???
正規表現を勉強しろ
0974nobodyさん04/10/31 21:11:09ID:???
>>971
>HTTP_SERVER_VERS
スペル間違えてないか?
0975nobodyさん04/10/31 21:13:40ID:???
HTTP_SERVER_VARS
0976nobodyさん04/10/31 21:19:14ID:???
>>969
XMLをパースするのにどういうライブラリを使ってるのか書いてないが
当然察してくれるだろうなどと考えているのではないだろうな

名前空間を認識してくれないライブラリを使っているか、
指定する方法を知らないためにやりそこなっているか
そんなとこじゃないの?
0977nobodyさん04/10/31 21:37:06ID:???
>>974-975
うをほんとだ…それで検索したら出てきた…
拾ったスクリプトにVERSで書いてあったもので…ごまんなさいorz
097896004/10/31 22:38:23ID:/ekEcexr
>961
 ありがとうございます。
 返事が遅くなり申し訳ありません。

 そういやり方ですか、先のプログラムで取得した、ディレクトリ情報に
リンク先のhtmlにあわせて、./ディレクトリ名, .../ディレクトリ名としていくということでしょうか?

その際、インフレームhtmlを読み込む時にリンク先を書き換えるのはやはりPHPとなると思うのですが、
その部分のプログラムはどんな感じになるのでしょうか?
0979nobodyさん04/10/31 23:32:42ID:???
>>978
htmlの勉強からやり直して来た方がいい
0980nobodyさん04/10/31 23:43:33ID:EL6QRtaC
1. $a = 10;
2. $b = $a;
3. $c = &$a; // 参照渡しによる代入
4. $a = 20;


すみませんが、参照渡し代入がわかりません。
誰か、教えてくださいm(__)m

↑なんですが、こういう解釈でOKでしょうか。

1. $a に、10を入れる
2. $b に、$aを入れる。この時点で、$a と $b は同じ値(10)
3. 現在の、$a は「10」だが、1行目に行って、さらに10を追加。$aは「20」になる
  そして、$cに、「20」が入る
4. $a に、「20」を入れる
0981nobodyさん04/10/31 23:54:45ID:???
>>980
3.の解釈が違う
0982nobodyさん04/10/31 23:55:37ID:???
全然違う
取りあえずマニュアル読むといい
http://www.php.net/manual/ja/language.references.php
0983nobodyさん04/10/31 23:55:41ID:???
$aと$cは同じ物を指す

$a (=$c) = ・・・
$c (=$a) = ・・・

と考えれば
0984nobodyさん04/10/31 23:57:00ID:???

3で、=なのに、足すっておかしいですよね
自分でもおかしいとは、思ってるんですが、どのように解釈すれば
いいか、ご教授頂けないでしょうか。
0985nobodyさん04/10/31 23:57:31ID:???
>>980

$a=10;
$b=$a;
$c=&$a;
echo "<pre>";
echo '$a='.$a."\n";
echo '$b='.$b."\n";
echo '$c='.$c."\n";

$a+=10;
echo '$a='.$a."\n";
echo '$b='.$b."\n";
echo '$c='.$c."\n";
echo "</pre>";

コレを実行してみたらいいんじゃね?
098698004/11/01 00:59:07ID:U1tLM27v
1. $a = 10;
2. $b = $a;
3. $c = &$a; // 参照渡しによる代入
4. $a = 20;


1. $aに、10をいれる
2. $bに、$a をいれる
3. $cに、$a をいれる ここまでで、$a $b $c は全て、10
4. $aに、20をいれる。
  3行目の、$aは、20になってる!= $cも、値が20である。


980です。みなさんありがとうございますm(_ _)m
なんとなくわかりました!上の解釈でOKでしょうか?
0987nobodyさん04/11/01 01:10:12ID:Ex4hVsBX
if($hoge)ってするよりif(isset($hoge))ってした方が良いの?
0988nobodyさん04/11/01 01:31:56ID:???
>>987
全然結果が違う。
$hoge = 0の時にissetのほうは通ってしまうだろうが。
0989nobodyさん04/11/01 01:43:30ID:???
Cでいうポインタだよ
0990nobodyさん04/11/01 01:44:18ID:Ex4hVsBX
>>988
ナルホド!

1 と 0

データがある と データ無い

コレを同じように考えてしまう。。。。悪い癖だなぁ
0991nobodyさん04/11/01 01:47:18ID:???
それは癖じゃないですよ。
きちんと覚えましょう。
0992 04/11/01 03:06:12ID:???
今、File1,File2,File3,,,,,File(n)から読み込んで、一部をMySQLに取り込む作業を
してるんだけど、File10くらいまでしかMySQLには取り込んでくれません。n=20くらい

一気にすると、どこかがパンクするのですか?
全て納められる方法はありますか?
納める時間は気にしてません。おねがいします。
0993nobodyさん04/11/01 03:17:23ID:???
>>992
ぜんぜん回答してもらえなさそうな質問にワロタ
0994nobodyさん04/11/01 03:21:34ID:???
>990->991
ワロタ

>992
エラーは出ないんですか?
全部同じTABLEですか?キーなど重複レコードはどうしてますか?
0995 04/11/01 03:34:15ID:???
>>994
はい。エラーはありません。同じTABLEに入れてます。
流れ的には

1、File1の中身を全て呼び出す
2、一部を取り出す
3、MySQLに入れる
4、ループ抜けるチェック
5、File2にセットする
6、1に戻る

勉強がてらに行ってるので、まだ重複レコードの処理はしてません。
1ループにつき10入れて、ファイルを20くらい読み込みます
全体として200を一気に入れることになってます。
レス数が950を超えています。1000を超えると書き込みができなくなります。