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の直前に記述しておけば日本語の文字化けが防げます。
ただ技術を書くだけでなく、「こういった場面で使える」など具体的に書いていくようにします。
たまにのぞいてあげてください。