wave117 の回答履歴
- array_combine()について
http://phpspot.net/php/man/php/function.array-combine.html こちらを参考に配列のまとめ方と取り出し方を模索中です。 $a = array('green', 'red', 'yellow'); $b = array('avocado', 'apple', 'banana'); $c = array_combine($a, $b); ↑こちらは、 foreach($c as $key => $value){ ~ } ↑このような感じでそれぞれ取り出せると思います。 ここまではいけました。 この状態で対象が3つ以上になった場合は、どういう対応方法があるのでしょうか。 $a = array('green', 'red', 'yellow'); $b = array('avocado', 'apple', 'banana'); $hoge = array('100', '150', '80'); array_combine()でできるのでしょうか。 他の関数を使うのでしょうか。 不慣れですみません。 アドバイスいただけますとうれしいです。 よろしくお願いいたします。
- ベストアンサー
- PHP
- Search_tmp
- 回答数3
- CakePHPのコントローラの作成
PHP初心者です。 CakePHPをインストールし試しにTestControlerを作成したのですが、ページが開きません。 PageNotFoundになります。 考えられる原因が分かれば教えて下さい。 【やったこと】 ・ [CakePHP root]\app\Controller に TestController.php を作成。 <?php App::uses('AppController', 'Controller'); class TestController extends AppController { } ・ URLにアクセス http://[CakePHP root]/Test ⇒ Not Found http://[CakePHP root]/test ⇒ Not Found http://[CakePHP root]/app/webroot/index.php?url=test ⇒ CakePHPのindex.phpが表示される。 http://[CakePHP root]/app/webroot/index.php?url=Test ⇒CakePHPのindex.phpが表示される。 以下のサイトを参考にしました。mod_rewriteが動いていない可能性がある ということなので、URL直接指定もしてみましたがダメでした。 http://codezine.jp/article/detail/768?p=2 よろしくお願いします。
- 多次元配列で特定キーが重複している箇所をランダムで
PHP多次元配列で特定キーが重複している箇所をランダムで1つだけ表示したい ・id基準 ■元配列 Array ( [0] => Array ( [id] => 5 [name] => "佐藤" [age] => 5 ) [1] => Array ( [id] => 5 [name] => "伊藤" [age] => 7 ) [2] => Array ( [id] => 5 [name] => "鈴木" [age] => 12 ) [3] => Array ( [id] => 8 [name] => "山田" [age] => 17 ) [4] => Array ( [id] => 8 [name] => "奈良" [age] => 2 ) ■取得したいランダム結果配列例1 Array ( [0] => Array ( [id] => 5 [name] => "佐藤" [age] => 5 ) [3] => Array ( [id] => 8 [name] => "山田" [age] => 17 ) ■取得したいランダム結果配列例2 Array ( [1] => Array ( [id] => 5 [name] => "伊藤" [age] => 7 ) [4] => Array ( [id] => 8 [name] => "奈良" [age] => 2 ) ※1次元目のキーは元キーを維持していなくても構いません
- リンクが押された文字をある値に変更するプログラム
以下のソースで、リンクが押された文字をXに変更するということを実現したいのですが、なぜかうまくいきません。 リンクを押して、その文字を引数にして関数changeXを実行し、その文字がnameのhiddenのvalueをXに変更し、postでフォーム送信し、その文字がnameの$_POSTに値が入っていればそれをその文字の配列に代入して、表示するという風にしています。 どこを改良すれば、実現できるか教えてください。 <?php print "<form name='form1' method='post' action=''>"; $a = array("A"=>"A", "B"=>"B", "C"=>"C", "D"=>"D"); if(isset($_POST['A'])){ $a["A"] = $_POST['A']; }elseif (isset($_POST['B'])) { $a["B"] = $_POST['B']; }elseif (isset($_POST['C'])) { $a["C"] = $_POST['C']; }elseif (isset($_POST['D'])) { $a["D"] = $_POST['D']; }; function showA(){ global $a; foreach ($a as $key => $value) { print "<a href='' onclick=\"changeX('".$key."')\">"; print $value; print "</a>"; } } print "<input type='hidden' name='A' value=''>"; print "<input type='hidden' name='B' value=''>"; print "<input type='hidden' name='C' value=''>"; print "<input type='hidden' name='D' value=''>"; showA(); print "</form>"; print "<script>"; print "function changeX(v){"; print "document.form1.v.value = 'X';"; print "document.form1.submit();"; print "}"; print "</script>";
- 連想配列の値を可変変数にして、for文で書きたい
if($hoge['test_1']){ } if($hoge['test_2']){ } if($hoge['test_3']){ } if($hoge['test_4']){ } if($hoge['test_5']){ } ・上記をfor文で一気に書きたいです ・どう書けば良いでしょうか? for ($i = 1; $i <= 5; $i++) { if($hoge['test_$i']){ } }
- データの整合性について
お世話になります。 皆さんからアドバイスをいただきたく投稿しました。 下記のような各マスタがあります。 店舗マスタ ・店舗コード ・店舗名 ・ジャンルコード ・削除フラグ ・登録日 ・登録者 ・更新日 ・更新者 ジャンルマスタ ・ジャンルコード ・ジャンル名 ・削除フラグ ・登録日 ・登録者 ・更新日 ・更新者 皆さんに聞きたい事はレコードデータに登録されているマスタデータの整合性についてです。 例えばジャンルマスタの下記のレコードが登録されているとします。 ・ジャンルコード:1000 ・ジャンル名:書籍 次に店舗マスタの下記のレコードが登録されているとします。 ・店舗コード:0001 ・店舗名:あいうえお書店 ・ジャンルコード:1000 ジャンルマスタからジャンルコードが「1000」のレコードを削除された場合に店舗マスタに登録されているジャンルコードが無くなってしまいます。このような事が起きないようにするにはどのような事をするのが正しいのでしょうか。 現在、私が考えているのは既に登録されているジャンルマスタの更新はジャンルコード以外は更新できるようにします。またジャンルマスタのデータの削除については既に店舗マスタに登録されている場合は削除できないようにする事を考えています。このような処理しか思いつきませんでした。 説明が下手ですみませんが理解していただけましたでしょうか。 どうが、皆さんのお知恵をお貸し下さい。またアドバイスをいただけませんでしょうか。 本当に申し訳ありませんが宜しくお願いします。
- 締切済み
- PHP
- wakaba1972
- 回答数5