• 締切済み

配列同士を結合させて、計算させる方法

wp_の回答

  • wp_
  • ベストアンサー率54% (132/242)
回答No.4

>もし該当するとしたら[username]でしょうか。 group by しているのであればusernameが無難でしょうね。 設計者側からしてみればprimary_keyを一意にしろよ!なんでしょうけど^^; >インターフェイスは触るなというお達しが出ているんです。 そんなプロジェクトは窓から捨ててしまいましょう^^;;;; 使えないインターフェースを書いた奴を見せしめにするために全社MLに屑ソースを流すとか!(やめれ おそらく肥大化したソースの所為で改修すると不具合連発なんでしょうけど。 一から書き直すプロジェクトを発足してみたらどうですか^^; まぁ現実としてどうしようもないでしょうから、コピーコピーでソートして上書きしかないんじゃないですかねぇorz 配列のコピーすら禁止とか言ったらお手上げですが^^; 三角定規で円を書けと言ってるのと同じことですし。円を書くならコンパスが必要ですよ、と。 >そのうち、ソースの耐震偽装が発覚しますよw 誰が上手いこと言えとw >デスノートにソースを書いてやろうか ソースが死んぢゃうw

ken_716
質問者

お礼

>wp_さん いつもありがとうございます。 御蔭で、完全に佳境は越えました。 感謝してもし尽くせないです。 ありがとうございました!!

関連するQ&A

  • foreachで配列を作る

    $array = array("id","name","address","tel","point","a1"); $res = $db->query($sql);  //sqlのクエリー while ($row = $res->fetchRow( DB_FETCHMODE_ASSOC )) { $data_list[]=array( $array[0]=>$row["$array[0]"], $array[1]=>$row["$array[1]"], $array[2]=>$row["$array[2]"], $array[3]=>$row["$array[3]"], $array[4]=>$row["$array[4]"], $array[5]=>$row["$array[5]"]); } をforeachを使って $array = array("id","name","address","tel","point","a1"); $res = $db->query($sql);  //sqlのクエリー while ($row = $res->fetchRow( DB_FETCHMODE_ASSOC )) { foreach(~){             //処理     } のようにかきかえたいのですがどうしたらいいでしょうか?foreachをしらべていろろやったのですがうまくいきません。よろしくおねがいします。  ちなみに$data_list[]の配列はArray ( [0] => id [1] => name [2] => address [3] => tel [4] => point [5] => a1 ) Array ( [0] => Array ( [id] => 0 [name] => ここあ [address] => 東京 [tel] => 2 [point] => 2 [a1] => 2 ) [1] => Array ( [id] => 1 [name] => 太郎 [address] => 東京 [tel] => 3 [point] => 5 [a1] => あ ) [2] => Array ( [id] => 4 [name] => 五郎 [address] => 東京 [tel] => 0 [point] => 1 [a1] => あああああ ) [3] => Array ( [id] => 5 [name] => 士郎 [address] => 神奈川 [tel] => 26 [point] => 5 [a1] => ああああああああああ ) …となります。

    • 締切済み
    • PHP
  • 多次元配列の計算方法について

    PHP習い始めたばかりで困っているので教えてください。。 多次元配列の要素ごとの計算ループが分からないです。 前提:多次元配列$tajiには15個の要素があり、それぞれに0か1が大量に入っています(具体的には、チェックボックスの回答に因っていて、回答される度に0か1がDBを経由して増えていく感じです) $taji[$rone][] = $row[$rone]; //var_dumpで確認したところちゃんと多次元配列として各要素に値が入っていました。 foreach($taji as $val1){ foreach($val1 as $val2){ print array_sum($val2); }; } …だとエラーになってしまいます。。 希望としては、要素ごとに合計を計算して表示してほしいのですが、 array_sumは多次元配列を無視してしまうのでしょうか?? 全く分からず困っているので、どなたかご教授よろしくおねがいします。

    • ベストアンサー
    • PHP
  • PHPの基礎的なことなんですが・・・

    初心者です。とある参考書をみてdo whileを習っています。 以下のスクリプトがなぜ、条件文にあてはまるのか知りたいわけです。 $db_data[0] = array("username" => "abcdefg0"); $db_data[1] = array("username" => "abcdefg1"); $db_data[2] = array("username" => "abcdefg2"); //ここまでは多次元配列しているな~って感じくらいでわかります。 do{ $flg = FALSE;     //$flgには、なにもいれない。 $username = md5(uniqid(rand(),1));     //ランダムにIDを作っているんだな~って感じです if($db_data[0]["username"] == $username){ $flg = true;} if($db_data[1]["username"] == $username){ $flg = true;} if($db_data[2]["username"] == $username){ $flg = true;}     //問題はここなんですが、なぜ比較演算子「==」で$flg = trueに なるのかがわかりません。なぜ多次元配列で作られた"username"とmd5で 作られた$usernameが一致するのでしょうか? } while ( $flg ); print "あなたのユーザIDは" . $username . "です。";

    • ベストアンサー
    • PHP
  • PHPの多次元配列について

    HTMLでホームページを作れる以外はプログラムに関しほぼ素人です。 環境 XAMPP1.70(最新)にてアパッチなど一括ダウンロード PHP言語にて3×4の表で以下の数値を多次元配列にて作成しようと思っているのですが、当方初心者なもので、 以下のコード(細かい部分は省略しています)、特にforeachがネストになっている部分の処理の流れがいまいちよくわかりません ~~~~~~~~~~~~~~~~~~~~~~~~~ <table border=2> <th>都市名</th> <th>最高気温</th> <th>最低気温</th> <?php  $data=array( array("東京"32,25) array("名古屋",45,67) array("埼玉",32,67) array("大阪",86,34) ) foreach($data as $city){ print "<tr>"; foreach($city as $value){ print "<td>{$value}</td>"    ●1回目foreachからここまでの流れがいまいち分かりません } print "</tr>"; ?> ~~~~~~~~~~~~~~~~~~~~ 一つ目のforeachにて、配列$dataが指定されていますので外側の配列を処理していくと思うのですが、具体的にどういう順番で処理されていくのでしょうか。 またforeach()の中の"$cityが最終的に$valueに格納という形になっていますが、10~13行目のarray("東京",32,25)とどのような関係で処理されていっているのか教えていただけませんでしょうか。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • 配列型の宣言?

    こんにちは。 あるサイトで見たphpのサンプルなのですが、 postされた全ての値を配列に格納するもので、以下のような記述がありました。 foreach((array)$_POST as $key => $value){  $array[$key] = $value; } ポストされた全ての値を、配列$arrayに連想配列として格納しているのはわかるのですが、 foreachの、(array)というのはどういう働きをするものなのでしょうか。 これは、$_POSTが配列であるという宣言でしょうか。 それと、postされた値がない場合、$_POSTを配列だと宣言しておくことで、foreachのエラーを回避するような役割もあるのでしょうか。 恥ずかしながら、(array)のような記述をphpではあまり見ないような気がするのですが、なんというキーワード(?)で勉強すれば理解が深められるかもご教授頂けますと助かります。 宜しくお願い申し上げます。

    • ベストアンサー
    • PHP
  • 添字配列をマージする方法はありますか?

    <? $a[0]["test"] = Array("Q1","Q2"); $b[0]["test_result"] = Array("A","B"); print_r(Array_Merge($a,$b)); ?> 期待する結果 Array ( [0] => Array ( [test] => Array ( [0] => Q1 [1] => Q2 ) [test_result] => Array ( [0] => A [1] => B ) ) ) 期待する結果にならないので、foreachでぶん回して、 再度格納しています・・ 添字配列をマージできる関数な方法はないでしょうか?

    • 締切済み
    • PHP
  • foreachで多次元配列を生成

    こんにちわ。 配列をforeachでループさせて、それを多次元配列に入れていくことは可能でしょ うか? 例えば以下のようなデータがあるとします。 ---meibo.dat-------- c21<>田中<>21<>東京 c22<>佐藤<>22<>大阪 -------------------- ---test.php----------------------------------------------------- <? $list_meibo = file("meibo.dat"); foreach($list_meibo as $temp){    $i=split("<>",$temp);    $a=array($i[0] => array("name"=>$i[1],"age"=>$i[2],"ad"=>$i[3]),); } ?> ------------------------------------------------------------------- これでは $a=array("c21"=>array("name"=>"田中","age"=>"21","ad"=>"東京"), "c22"=>array("name"=>"佐藤",age"=>"21","ad"=>"大阪"),); という具合になってくれないでしょうか? これでいくと、配列の最後の要素のみデータに残ります。 どのようにしたらよいでしょうか? ご教授お願いします。

    • ベストアンサー
    • PHP
  • 連想配列のキー値(連番)を基に、別の配列を作るには?

    下記のように、キー値の一部に連番を持った連想配列 があるのですが、このキー値と連番で別の配列を 簡単に作る方法は無いでしょうか? もとの配列 $ary = array("item0"=>"x","item1"=>"y","item2"=>"z","data0"=>"o","data1"=>"p","data2"=>"q"); 上の$aryから $item=array([0]=>"x",[1]=>"y",[2]=>"z"); $data=array([0]=>"o",[1]=>"p",[2]=>"q"); のような形の配列を得たいのです。 foreach($ary as $key => $val){ } の構文で、$key値を調べて分断し、新しい配列に pushしていくしかないでしょうか? ※PHP4.3です

    • ベストアンサー
    • PHP
  • 配列をテキストデータから読み込む方法

    質問です。 現在テキストデータ(data.txt)に 100 95 80 90 10 といった形で保存しています。 以下のように設定すると objFso = new ActiveXObject("Scripting.FileSystemObject"); myFile = objFso.GetFile("c:\\data.txt"); objTxt = myFile.OpenAsTextStream(1); var DATA = new Array(); do{ DATA = new Array(objTxt.ReadLine()); }while(!objTxt.AtEndOfLine) とした場合、DATAには最後の値しか入っていないのですが どこが間違っているのでしょうか? これはDATAがきちんと配列になっていないということでしょうか?

  • 不要な配列を消したい

    2次元配列で、不要な要素を取り除きたいのですが良い方法が思い浮かばず、どうしたものかと悩んでいます。 一番初めと5番目を消したいのですが、preg_match で日付の2006にマッチしない要素をunsetしてみましたがうまくいきませんでした。 $data = array ( array('<br>'), array("2006 03 22", test), array("2006 03 23", test2), array("2006 03 25", test3), array('') ); $pattern = '/2006/'; foreach($data as $key => $value) { if(preg_match($pattern, $value[$key])) { unset($data[$key]); } } もし方法をご存知のかたおられましたらよろしくお願いいたします。

    • ベストアンサー
    • PHP