PHP の小さなトリックのいくつかは比較的基本的なものです。要約すると、ベテランは姿勢を変えるだけで済みます。
1. str_replace
str_replace は非常に一般的に使用される PHP 関数で、文字列の置換に使用されます。PHP の初心者の中には、文字列のバッチを置換するために何行もの str_replace を作成する人がよくいますが、これは本当にひどいことです。
たとえば、この例:
$str = '誰かの生息地 --- www.ooso.net';
$str = str_replace('誰か', '悪い奴', $str);
$str = str_replace('', 'di', $str);
$str = str_replace('生息地', '豚の巣', $str);
$str = str_replace('www.ooso.net', 'ooso.net', $str);
上記では文字列を4回置換していますが、実際には書き方を変えるだけで次の1行で完了します。
$str = '誰かの生息地 --- www.ooso.net';
$str = str_replace(array('someone', 'the', 'haveat', 'www.ooso.net'), array('bad guy', 'di', 'pigwowo', ' ooso.net '), $str);
2.配列
次のような配列を書いている人をよく見かけます:
echo $arr[some_key];
上記のコード行は実行でき、大きな問題はないようですが、php.ini でエラー通知をオンにすると、大量のエラーが発生します。 PHP パーサーは最初に「some_key」を定数として解釈しますが、some_key のような定数が定義されていない場合でも、パーサーは非常に寛容で、それを文字列として扱います。したがって、新入生は完全に書いたほうがよいでしょう:
echo $arr['some_key'];
ダブルクォーテーションで囲みたい場合は、次のように記述しても問題ありません。echo "これは二重引用符で囲まれた文字列 {$arr['some_key']} です";
3. 入力トリック
型トリックは非常に簡単に使用できます。たとえば、フォームによって送信された変数がある場合、通常の状況では整数である必要があります。場合によっては、怠け者で検証を省略する場合は、次のように記述できます。 >
$intVar = (int)$_POST['post_var'];
もう 1 つの例は、キー値を記述するときに引用符で囲むのが不快な場合があります。 のように、配列をオブジェクトに変換できます。
$arr = array('name' => '火山', '性別' => '男性');
$arr = (オブジェクト)$arr;
echo $arr->name;
echo $arr->sex;
とても手間がかかりませんね?
4.ラムダ関数
lambda 関数と array_* 一連の関数には奇跡的な効果があります。PHP マニュアルの例を見てみましょう。
$av = array("the ", "a ", "that ", "this ");
array_walk($av, create_function('&$v,$k', '$v = $v . "mango";'));
print_r($av);
?>
少なくとも 1 つの for ループが保存されます
5. 表のセルを表示する入れ子ループ
ネストされたループでテーブルのセルを表示する これは非常に古いトピックですが、特定のセルの後に条件判定を追加し、tr タグと td タグのどちらを出力するかを検討する必要があります。
ここでは、array_chunk 関数を使用して HTML をきれいに出力する方法を紹介します。以下の例を参照してください。この例では、4 行 6 列のテーブルが出力されます。
$arr = range(1, 24); //これにより配列 array(1,2,3,4....24) が生成されます
$arr = array_chunk($arr, 6);
// 出力テーブル
?>
<テーブル>