あれ、どっちだったけ〜っていつまでたっても覚えられないPHP関数群です。100%自分用です。
文字列を配列にする
explode( '区切り文字', $string );
配列を文字列にする
implode( '区切り文字', $array );
文字列から文字を検索したいです
// ヒットした位置を返すので、TRUEとして0が帰ってくる場合がある。
$string = '検索対象の文字列';
$search = '検索する文字';
if ( strpos( $string, $search ) === false ) {
// 見つからなかったよ。
} else {
// 見つかりましたよ。
}
検索した文字を変換したいです
$search = '変換したい文字'; // 配列でもよい。
$replace = '変換後の文字'; // 配列でもよい。$searchが配列で、$replaceは文字でもよい。
$string = '検索して変換したい文字列';
$string = str_replace( $search, $replace, $string );
0詰めしたい時〜
sprintf( '%02d', 1 ); // 01
sprintf( '%03d', 1 ); // 001
// 文言でもイケる。
sprintf( 'あなたのIDは%04dです', 1 ); // あなたのIDは0001です
日付をフォーマットしたいのですが〜
$date = new DateTime( '2018-01-01' );
echo $date->format( 'Y-m-d H:i:s' );
ループの途中でスキップしたり抜け出したいです(foreachでも使えます)
for ( $i=0; $i=10; $i++ ) {
if ( $i = 2 ) {
continue;
}
if ( $i == 9 ) {
break;
}
echo $i;
}
switch文・・・caseの後に()は要らないです。
switch (式){
case 値1:
break;
case 値2:
case 値3:
break;
default:
}
参照渡しってどこにどう書くんでしたっけ?
function func( &$obj ) { // ここと
foreach ( $obj as &$value ) { // ここです。
$value = $value . '上書き保存';
}
unset($value); // unsetしないと、ごく稀に思わぬ事態に。
}
これってなんていうんだっけ?
$bool ? func1() : func2(); // 三項演算子
インスタンスって・・つまりなに?
$myclass = new MyClass(); // $myclassがインスタンス
正規表現(preg_match)で何が返ってくるの?
$string = '〒164-0011 東京都中野区'; // 検索対象
$pattern = '/[0-9]{3}-[0-9]{4}/'; // 郵便番号の正規表現
// マッチした場合に1を。マッチしなかった場合は0、エラーが発生した場合はFALSEを返す。
if ( preg_match( $pattern, $string ) ) {
// マッチしました。
} else {
// マッチしませんでした。
}