PHP:Switch文のcaseに0を使う。switch(true)

PHPにおいて0の場合を判定させる方法です。

 

通常の場合phpではcase文に0を用いた場合、自分の期待の動きをしてくれません。

つまり、

$num = 1;

switch($num){

case 0:echo ‘num is 0!’;

case 1:echo ‘num is 1!’;

}

この場合期待通りに動いてくれません。

 

こういった場合の対処方法です。

このような場合以下のように書きます。

switch(true){

case $num === 0:’num is 0!’;

case $num === 1:’num is 1!’;

}

もちろん数値を文字列にするなどで対処することができますが、どうしても数値を用いたい場合は

switchの()の中にtrueを入れ、===で値をチェックします。

 

こうすることによって自分の期待した動きをしてくれるようになります。

 

以上、PHPのSwitch文でcaseに0を使う方法でした。

 

 

 

PHPからJavaScriptに配列を渡す

PHPからJavaScriptに連想配列を渡す方法です。

 

こちらのやり方にはいろいろと方法があるのですが、

今回は自分が一番簡単でありよく使う方法を解説していきたいと思います。

 

早速解説していきたいと思います。

 

まずPHP側で配列を用意します。例として、

 

$test=new array();

$test[]=test1;

$test[]=test2;

 

と2つの要素からなる配列testを用意します。

ちなみに配列に代入する際上のようにすると簡単に配列に要素を格納できるので、

かなりおすすめの方法になります。

 

ほかの方法としてarray_pushを使う方法もありますので、

興味ある方は調べてみてください。

 

次に用意した配列をJavaScriptに渡すために一度jsonに変換します。

 

こちらは

$jsonTest=json_encode($test);

のようにし、変換します。ここで変換するのは受け渡しを簡単にするためです。

 

で次にJavaScript上で配列を受け取ります。この方法は

var test=JSON.parse(‘<?php echo  $jsonTest; ?>’);

のようにJSON.parseを使い受け取ります。

このときphpの文全体を’   ‘で囲っていることに注意してください。

 

以上の処理をすれば配列を渡してあげることができます。

PHP,JavaScript間で配列のやり取りをすることは多々あるので覚えておくと便利です。

 

以上、PHPからJavaScriptに配列を渡す方法でした。