• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:値の引継ぎについて)

値の引継ぎについて

このQ&Aのポイント
  • 値の引継ぎに関するスクリプトの作成方法について質問です。
  • スクリプト内で特定の値を引継ぐ方法について教えてください。
  • ファイルを作成して値を引き継ぐ際に、表示される範囲を指定する方法について教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • ts3m-ickw
  • ベストアンサー率43% (1248/2897)
回答No.1

for($n = 0; $n < 4; $n ++){ ↓ for($n = $i*4; $n < $i*4+4; $n ++){ または fwrite($index,$data[$n]); ↓ fwrite($index,$data[$i*4+$n]); のどちらかの修正をする

cross1777
質問者

お礼

ts3m-ickwさん、理解できました! ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • ココになんで「\」がつくのでしょうか?

    はじめまして。PHP初心者です。 以下のプログラムで「\」が出てくる場所があるのですが 「\」はどういう場合につけるのでしょうか? 意味はあるのでしょうか? <?php $data = " <?php print \"Hello\"; ?> "; for($i = 0; $i < 3; $i ++){ $fp = fopen("$i.php", "w"); fwrite($fp, $data); fclose($fp); } for($i = 0; $i < 3; $i++){ echo "<a href=\"./$i.php\">$i</a>\r"; } ?> ご回答よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • phpでハイパーリンクして値を持っていきたい

    今phpを使ってhtmlのタグを使いハイパーリンクして値を持っていきたいのですけどよくわかりません for($i;$i>=0;$i--){ echo '<a href="user.php">'.$arr[$i].'</a><br />'; echo $i; このようにプログラムは書いてます user.phpに arr[$i]の値をそれぞれ持っていきたいのですけど どのように書けばいいでしょうか?

    • ベストアンサー
    • PHP
  • テキストデータから指定行の削除

    phpでサイトを作っています。 テキストデータを一行ずつ表示させ、指定した行を削除したいのですが、どうすればいいのでしょうか? -- data.txt -- aaa,data1, bbb,data1, ccc,data1, ddd,data1, -- php -- <?php $del=$_POST['del_no']; if($del!=""){ $data_all = file("data.txt"); for($i=0;$i<count($data_all);$i++){ $data_array = explode(",",$data_all[$i]); if($data_array[0]!=$del){//削除データ以外を再書き込み $txt="$data_array[0],$data_array[1],\n"; $fp = fopen("data.txt", "w"); flock($fp,1); foreach ($txt as $line) {// 1行ずつファイルへ書き込み? fwrite($fp, $line); } fclose($fp); break; } } } ?> <b>data list</b> <? $data_all = file("data.txt"); for($i=0;$i<count($data_all);$i++){ $data_array = explode(",",$data_all[$i]); echo "$data_array [0]<br />"; echo "<form method=\"post\">"; <input type=\"hidden\"name=\"del_no\" value=\"$data_array[0]\" />";//削除するデータをPOST echo "<input type=\"submit\" value=\"削除\" />"; echo "</form>"; } ?> こうすると、テキストデータが白紙になってしまいます。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • fopenしてくれない。。。

    こんにちは。PHP初級者です。 postgresqlに入れたデータをCSVファイルに書き込んで、出力してみたいと思って以下のプログラムを作ってみました。 $file_name ="insatu.csv"; //データベースから呼び出し以下の$arrayへいれるデータは省略します。 //今回は1行のみのデータを入力プログラムになってますが、本当は何行もやるプログラムとなってます。 $array = compact("a","b","c","d","e","f","g","h","i","j","k","l"); $string = implode("," , $array); $file = fopen($file_name, "a") or die ("openエラー $file_name"); flock($file, LOCK_EX); fputs($file, $string."\n"); flock($file, LOCK_UN); fclose($file); $file = fopen($file_name, "r"); while($array = fgetcsv($file, 1000, ",")){ echo "<hr> \n"; for($i=0; $i< count($array); $i++){ echo $array[$i]."<br>"; } } fclose($file); なぜか最初の fopenで dieの方へ行って OPENエラーメッセージが出てきます。 この作業をするためには何かあらかじめ入れなくてはいけない構文とかあるんでしょうか?何か間違っていますでしょうか? それともphp.iniを設定するとかしなくてはいけないんでしょうか? php5を使用してますが、php.iniやphp.ini-distはともに見つからず。 困り果ててます。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • 書き込みデータのポインタのキャスト変換

    Ç言語初心者です。 あるプログラムソースの一部で、以下のようにfwrite()で書き込みデータのポインタarrayをキャスト変換しています。    FILE *fp; int array[3]; int i; for( i=0; i<3; i++){ array[i] = i; } fp = fopen("sample.tbl","wb"); fwrite( (char *)array, sizeof(array), 1, fp); // (char *)を付ける理由が分からない fclose(fp); (char *)array を array に変更しても結果は変わらないと思いますが、何に影響があるのでしょうか。

  • 投稿番号、投稿削除と投稿修正機能

    こんにちわ。今、PHPのみで掲示板の機能の一つである、投稿番号(投稿記事に番号をふりたい)と投稿者自身が投稿を削除する(削除キーを使用して8文字以内とかにしようかと)機能と投稿者が投稿を修正できる機能を作成したいと思っているのですが、なにか簡単な例でいいですので記述していただけないでしょうか?削除キーはテキストボックスで作りました。webのサンプルソースをみても組み込めないでいます。だいぶ、省略していますが、下記のようになスクリプトを組んでいます。 // ファイル書き込み  $file = fopen("data.txt", "w"); fwrite($file, "$name\t$mail\t$body\t$dt\n".implode("", $data)); $i = 1; foreach ($data as $value) { if($i < 100) { fwrite($file, "$value"); $i++; } } fclose($file); header("Location:subject03-02.php"); exit; } //投稿表示 $data = file("data.txt"); $i = 1; foreach($data as $value){ $view = explode("\t", $value); list($name, $mail, $body, $dt) = explode("\t",$value); if( $i < 11 ){ if($mail== ""){ echo "お名前:$view[0]$view[3]<br>"; echo "本文:$view[2]<br>"; echo '<hr size="1" width="80%"><br>'; } else { echo "お名前:<a href=\"mailto:$mail\">$view[0]</a>$view[3]<br>"; echo "本文:$view[2]<br>"; echo '<hr size="1" width="80%"><br>'; } } $i++; }

    • ベストアンサー
    • PHP
  • ファイルに書き込む時の負荷について

    PHPバージョン5.2.4を使っています。 次のような // ------------------------------------ $fp = fopen("data.txt", "w"); $buf = ""; for ($i = 1; $i <= 3; $i++) { $buf .= "aaa$i\n"; } fwrite($fp, $buf); fclose($fp); // ------------------------------------ という変数にいったん保存してから書き込む場合と // ------------------------------------ $fp = fopen("data.txt", "w"); for ($i = 1; $i <= 3; $i++) { $buf = "aaa$i\n"; fwrite($fp, $buf); } fclose($fp); // ------------------------------------ というその都度ファイルに書き込む場合とでは どちらが良い悪いというのはあるのでしょうか? たとえばこちらのやり方は負荷がかかるなど ループが多くなっていった場合に違いがでてくるのでしょうか?

    • ベストアンサー
    • PHP
  • ファイル書き込みが重複する

    こんばんわです。 以下のスクリプトで 投稿データを時系列に新しい書込み順に表示させようとしているのですが、一度実行させると同じ投稿がいくつも表示されてしまうのです。ご回答お願いいたします。一部省略しています。 <?php if($name== "" or $body == ""){ echo '<font color = "#FF000">必須項目入力エラー</font><br>'; echo 'お名前と本文は必ず入力してください<br>'; echo '<a href = "javascript:history.back()">戻る</a>'; } $body = substr($body, 0, 1000); $body = str_replace("\r\n", "<br>", $body); $dt = date("y/m/d H:i:s"); $data = file("data.txt"); $file = fopen("data.txt", "w"); fwrite($file, "$name\t$mail\t$body\t$dt\n"); $i = 1; foreach ($data as $value) { if($i < 30) { fwrite($file, "$value"); $i++; } } fclose($file); } echo ' subject03-BBS <h1>subject-BBS</h1> <form method="post" action="subject03.php" > お名前 <input type="text" size="20" maxlength="40" name="NAME"> メール <input type="text" size="30" maxlength="60" name="MAIL"> <p>本文<br></p> <textarea rows="20" cols="80" wrap="soft" name="BODY"></textarea> <p><input type="submit" name="SUBMIT" value="送信"><p/> </form> '; $data = file("data.txt"); foreach($data as $value){ $view = explode("\t",$value); if($mail== ""){ echo "お名前:$name$view[3]<br>"; } else{ echo "お名前:<a href=\"mailto:$mail\">$name</a>$view[3]<br>";} echo "本文:$body<br>"; } ?>

    • ベストアンサー
    • PHP
  • ?をつけて送信してもだめでしょうか

    ちゃんと表示されるのは これを実行したときで <?php $handle = fopen("jikken.csv", "r"); while (($data = fgetcsv($handle,1000, ",")) !== FALSE) { $num = count($data); if($data[0] == 9999999){ echo $data[1]."<br>\n"; } } fclose($handle); ?> しかし <?php $codex = $_POST['code']; $handle = fopen("jikken.csv", "r"); while (($data = fgetcsv($handle,1000, ",")) !== FALSE) { $num = count($data); if($data[0] == $codex){ echo $data[1]."<br>\n"; } } fclose($handle); ?> このように入れて ~~.php?code=9999999 としても うまくいかないのです 何がおかしいのでしょうか

    • 締切済み
    • PHP
  • array_filterで空行が消えない。

    こんばんは。 訪問者が入力した検索ワードのデータをとっているのですが、 プログラムの問題か、ファイルの所々が空行になっています。 で、空行を消そうとarray_filterを使って一括で削除しようとしても消えませんでした。 ファイルのデータは何の変化もありませんでした。 ちなみにphpのプログラムは以下のとおりです。 <html> <head> </head> <body> <?php $array = array_filter(file('xteria.txt')); $fh = fopen("file3.txt","w"); for($x=0;$x<4000;$x++){ echo $array[$x]; fwrite($fh,$array[$x]); } fclose($fh); ?> </body> </html> 調べていたら、空行という名前の値が入っているとか何とか記事がありましたが、 さっぱりです。 よろしくお願いします。

    • ベストアンサー
    • PHP