社員ブログ

開発日記

2015年02月06日 金曜日

PHPを学び始めて1年8ヶ月ですが、とりあえずつかえる!と思ったことを、

易しいこと、難しいこと関係なく簡単に書いていきます。

 

①-1 配列をカンマ区切りの文字列にしたい(implode関数)

$array = array('横山', '岡部', '江田');
$str = implode(',', $array);

このように処理すると

変数$strは ‘横山,岡部,江田’ となります。

カンマ区切りにするとそのままCSVに出力できますよね!!

もちろんカンマ以外でも対応可能です。

 

①-2 カンマ区切りの文字列を配列に格納したい(explode関数)

$str = '四位,蛯名,藤田';
$array = explode(',', $str);

このように処理すると

配列$arrayは ([0] => ‘四位’ [1] => ‘蛯名’ [2] => ‘藤田’) となります。

CSVを読み込んで処理する場合によく使いますね!!

もちろんカンマ以外でも対応可能です。

 

②文字列の前後のスペースを削除したい

$str = ' あいうえお ';
$str = trim($str);

このように処理すると変数$strの値は’あいうえお ’となってしまい、

末尾の全角スペースが削除されません。

trim関数は文字列の先頭および末尾からホワイトスペース(半角スペース、タブ、改行)を除去する、という関数ですので全角スペースは削除してくれません。

 

このような場合は正規表現を用い、前後の全半角を除去するとよいです。

$str = preg_replace('/^[  ]+/u', '', $str);  // 前の全半角スペースを除去
$str = preg_replace('/[  ]+$/u', '', $str); // 後の全半角スペースを除去

このように処理すると

変数$strは’あいうえお’となり、うまく除去できました!

 

ちなみにPHPのデバッグ等でvar_dumpやechoを用いる場合に文字化けを防ぐ方法として

header("Content-type: text/html; charset=UTF-8");

header関数でHTTPヘッダーを送信し表示。ヘッダーで文字コードUTF-8を指定。

これをva_dumpやechoの直前に記述しておけば日本語の文字化けが防げます。

ただ技術を書くだけでなく、「こういった場面で使える」など具体的に書いていくようにします。

たまにのぞいてあげてください。

文字サイズサイズ小サイズ中サイズ大