PHPであったら便利な関数1

Twitter ツイート Hatena Bookmark ブックマーク

なんか学校の授業でPHP書いているときに、みんな途中の結果をprintとかechoとか使ってよく変数の値を表示することがあると思います。

よくこんな感じに

1
2
3
4
5
6
<?php
    $a = "testA";
    $b = "testB";
    print $a;
    print $b;
?>

まあ予想はつくと思うけど、こんな感じに実行されます。

1
&nbsp;&nbsp;&nbsp;testAtestB

短い文ならいいんですが、やたらと長い文の場合はめんどくさい。非常に。。
JavaではSysten.out.println()があるから勝手に改行してくれるけど、PHPにはないわけです。

そこでこんな関数を定義してあげれば大丈夫です。

1
2
3
4
5
<?php
    function print_br($str=''){
                print $str."<br />\n";
    }
?&>

まあ見てのとおりなんだけど、引数$strに表示したい値をいれてあげれば、後ろにって入れて表示してくれるわけです。

ただ、この場合だとxhtmlで書いていた場合には正しくない。
ということで、こんな風にしてみました。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
<?php
    function print_br($a='',$html_type=''){
        switch($html_type){
            case "xhtml":
                print $a."<br />\n";
                break;
            default:
                print $a."<br />\n";
                break;

        }
    }
?>

無駄にswitchとかつかっているので、行数がながくなっているんですが、xhtml形式のbrで表示したいばあいは2番目の引数にxhtmlって文字列を入れてあげればいいってことです。

しかしこれだと、無駄にソースコードが長くなる気がするので、もう少し短くしてみようと。

1
2
3
4
5
6
<?php
    function print_br($str='',$xhtml=false){
                $str .= $xhtml ? "<br />\n" : "<br>\n";
                print $str;
    }
?>

見たいな感じにしてみると、非常にすっきりすると思います。
昔は使わないほうがいいっていわれたけど、場合によっては三項演算子は使うべきだと思いました。
今回は2番目の引数にtrueかfalseをいれてあげればいいのです。
tureにしたらxhtml形式のbrにで表示されるってことです。

もしよかったら使ってみてください。

comments powered by Disqus
Built with Hugo
テーマ StackJimmy によって設計されています。