-
2016.03.07 Monday 13:55○可変変数を使って、変数名の一部を可変的に扱う
例えば、
$nm1 = "A";
$nm2 = "B";
$nm3 = "C";
$nm4 = "D";
$nm5 = "E";
があって、夫々の変数の内容をecho …したいような場合がある。
変数毎に、echo …を記述するのはめんどい。
そのような場合に「可変変数」を使って、変数名の一部を可変的に指定すれば効率的。
[通常の方法]
echo $nm1;
echo $nm2;
echo $nm3;…
[可変変数を使った方法]
$nm1の1の部分を1〜5へ可変してやる。
for($cnt=1; $cnt<6; $cnt++)
{
echo ${"nm".$cnt}; //${"nm".$cnt}=$nm1…$nm5のそれぞれと等価
}
○可変変数を使って変数名を動的に指定する
$stra = 'jpn';
${$stra} = 'light';
とすると
$jpn='light';
と同じ。 -
2016.03.01 Tuesday 14:55$ar_str = array('x' => 1, 'y' => 2);
//当該キーが存在するかチェック
if(isset($ar_str['z']))
{
echo $ar_str['z'];
}
・・・存在しないときにwarningエラーが発生してしまう
if(array_key_exists('z',$ar_str))
{
echo $ar_str['z'];
}
else
{
//nothing
}
・・・array_key_existsを使って存在チェックしてやれば存在しない時もwarningが出ない、OK -
2016.02.22 Monday 22:01サイトページのソースを見ると、例えば「田中耕古」のように「」とヘキサの数値で文字列を表現されている場合がある。これを数値文字参照という。
・日本語文字列⇒数値文字参照へ変換
$strbefore="田中";
$strafter = mb_convert_encoding($strbefore, 'HTML-ENTITIES', 'UTF-8');
…結果 $strafter=「田中」
・数値文字参照⇒日本語文字列へ変換
$strbefore="田中";
$strafter = =mb_convert_encoding($strbefore,'UTF-8','HTML-ENTITIES');
…結果 $strafter=「田中」
-
2014.03.27 Thursday 16:32php.iniファイル
エラーの出力がOFFになっていると
display_errors = Off
エラーの出力がだと
display_errors = On
これは、phpinfo.phpで確認できる。
レンタルサーバーなどで、php.iniを変更できない場合は、
.htaccessファイルの記述で設定可能。
エラー表示
php_flag display_errors On
エラー非表示
php_flag display_errors Off -
2014.03.02 Sunday 11:43mb_regex_encoding("UTF-8");
if(preg_match("/^[ぁ-んァ-ヶー一-龠]+$/u",$words))
{
//○「ひらがな、カタカナ、漢字」のみ
}
else
{
//○「ひらがな、カタカナ、漢字」のみ以外
} -
2013.11.25 Monday 14:14PHPのスクリプト実行時のエラーを非表示にする。
error_reporting( 0 );
他にも、
error_reporting(E_ALL ^ E_NOTICE);
ini_set( "display_errors", "Off");
とか。
効果ない場合もある。 -
2013.10.29 Tuesday 17:07//ord と chr のマルチバイト文字バージョン
//文字コード→文字
function mb_chr($in_cd)
{
return ($in_cd < 256) ? chr($in_cd) : mb_chr($in_cd/256).chr($in_cd % 256);
}
//文字→文字コード
function mb_ord($in_ch)
{
return (strlen($in_ch) < 2) ?
ord($in_ch) : 256 * mb_ord(substr($in_ch,0,-1)) + ord(substr($in_ch,-1));
} -
2013.10.08 Tuesday 15:48PHPで、
指定したエンコードにどうしてもなってくれない場合がある。
例えばUTF-8のページにしたいのにSJISになってしまうとか。
[対処法]
レンタルなどでサーバー側をいじれない時は「.htaccess」で設定。
それも無理ならばソース上の始めの方で
mb_http_output("UTF-8");
又は
header('Content-Type: text/html; charset=UTF-8');
mb_language("Japanese");
mb_internal_encoding("UTF-8");
mb_http_output("UTF-8");
と記述する。 -
2013.08.29 Thursday 23:50外部からPHPを実行させる
@file_get_contents(絶対パスのphp) -
2013.08.24 Saturday 13:30get_headers関数を使った方法
$wurl = 'http://www.google.co.jp';
$wheader = @get_headers($url);
if(preg_match('/^HTTP¥/.*¥s+200¥s/i',$wheader[0]))
{
echo "URLが存在する¥n";
}
else
{
echo "URLが存在しない¥n";
} - ←Next 1/4 pages Back→
-
4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58 61 64 67 70 73 76 79 82 85 88 91 94 97 100 103 106 109 112 115 118 121 124 127 130 133 136 139 142 145 148 151 154 157 160 163 166 169 172 175 178 181 184 187 190 193 196 199 202 205 208 211 214 217 220 223 226 229 232 235 238 241 244 247 250 253 256 259 262 265 268 271 274