石が28個あったので5回引いてみました。
セレス
ヴァンパイア
ドリヤード
タイタン
ロキ
でした。
値渡しと参照渡しの違いはわかりますか?
なんとなく理解してなんとなく使っていて、ふと疑問に思ったので、調べてみました。
値渡し・・・値をコピーして渡す。
参照渡し・・・領域ごとを渡す。
どういうことかというと、
値渡しはローカルな感じになる。
参照渡しはグローバルな感じになる。
なんか説明するとめんどくさくなってきたので、やめようと思います。
それではごきげんよう
なんとなく理解してなんとなく使っていて、ふと疑問に思ったので、調べてみました。
値渡し・・・値をコピーして渡す。
参照渡し・・・領域ごとを渡す。
どういうことかというと、
値渡しはローカルな感じになる。
参照渡しはグローバルな感じになる。
なんか説明するとめんどくさくなってきたので、やめようと思います。
それではごきげんよう
セッションに値を代入する際になぜか値が「css」となる現象が起こった。
どうしても以下の処理を行うとセッションが「css」と代入された
最初からこれならすぐわかってたのだが、zendフレームワークでrequestsって変数にPOSTもGETも突っ込まれる状態でやっていたので、はまったはまった。
「css」、プログラム内の「GET」だいたいわかりますね。
クロスサイトのことですよ、これ。
cssの意味がわからなかったからすごく時間がかかった。
xssと書いてくれてれば、いいのに。
以下のコードに変更して対応
正確には_POSTなんかこんなところに書きませんが、こういう感じに変更。
どうしても以下の処理を行うとセッションが「css」と代入された
$_SESSION['test'] = $_GET['test'];
最初からこれならすぐわかってたのだが、zendフレームワークでrequestsって変数にPOSTもGETも突っ込まれる状態でやっていたので、はまったはまった。
「css」、プログラム内の「GET」だいたいわかりますね。
クロスサイトのことですよ、これ。
cssの意味がわからなかったからすごく時間がかかった。
xssと書いてくれてれば、いいのに。
以下のコードに変更して対応
$_SESSION['test'] = $_POST['test'];
正確には_POSTなんかこんなところに書きませんが、こういう感じに変更。
マスターテーブルに性別のテーブルがあったとします。
中身は以下のようなものがはいっています。
でプログラム内でこんな処理かきませんか?
またはこんな処理かきませんか?
ここの1は定数にしたいなぁと思って、
SEX_MALE=1とSEX_FEMALE=2を定義したりします。
結果こんな感じの定義になります。
なんかきもち悪くありませんか?
私はなんか気持ち悪いです。
DBとプログラム内で似たようなものがあるとなんか汚く見えます。
でも結構こういったソースが多いと思いますが。
結論はDBで持たずに、プログラム内で両方もつのがよいと思います。
そうすると以下のように定義できますね。
これをモデルとして作ると以下のようになります。
中身は以下のようなものがはいっています。
id name
---+------
1 男
2 女
3 その他
でプログラム内でこんな処理かきませんか?
// $requests['sex']に1が入っていた場合「男」が表示される
echo $sexPairs[$requests['sex']];
またはこんな処理かきませんか?
if($reqests['sex'] == 1 ){
// 性別が男だった時の処理
}
ここの1は定数にしたいなぁと思って、
SEX_MALE=1とSEX_FEMALE=2を定義したりします。
結果こんな感じの定義になります。
$sexParis = array(
1 =>'男'
2 =>'女'
3 =>'その他'
);
define('SEX_MALE',1);
define('SEX_FEMALE',2);
define('SEX_OTHER',3);
なんかきもち悪くありませんか?
私はなんか気持ち悪いです。
DBとプログラム内で似たようなものがあるとなんか汚く見えます。
でも結構こういったソースが多いと思いますが。
結論はDBで持たずに、プログラム内で両方もつのがよいと思います。
そうすると以下のように定義できますね。
define('SEX_MALE',1);
define('SEX_FEMALE',2);
define('SEX_OTHER',3);
$sexParis = array(
SEX_MALE =>'男'
SEX_FEMALE =>'女'
SEX_OTHER =>'その他'
);
これをモデルとして作ると以下のようになります。
class Default_Model_Sex
{
const SEX_MALE = 1;
const SEX_FEMALE = 2;
const SEX_OTHER = 3;
public static $sexPairs = array(
self::SEX_MALE => '男',
self::SEX_FEMALE => '女',
self::SEX_OTHER => 'その他',
);
/**
* コンストラクタ
*/
public function __construct() {
}
public static function getSexPairs(){
return self::$sexPairs;
}
}
2012年の週番号34から週の最初の日(日曜日)を出す式は
でいけました。
月曜にしたい場合は-6のところをいじってください。
=DATE(2012,1,34*7-6)
でいけました。
月曜にしたい場合は-6のところをいじってください。