PHPの関数名は回りくどいのが多いので

普段あなたが良く使う(あったらいいと思う)
関数1文字の自作関数を教えてください。

例えば、以下のようなものです。

// 配列を生成
function a(){
return func_get_args();
}

// dump出力
function d(){
return var_dump(func_get_args());
}

回答の条件
  • 1人1回まで
  • 登録:
  • 終了:2010/08/26 14:00:03
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:bayan No.5

回答回数100ベストアンサー獲得回数13

ポイント25pt

GETやPOSTのパラメータが送信されていればその値を変数に格納し、

送信されていなければデフォルト値を変数に格納する、

というコードを書くことがあります。

// if文で
$foo = 0;
if(isset($_GET['foo'])){
  $foo = $_GET['foo'];
}

// 三項演算子で
$hoge = (isset($_POST['hoge']))?$_POST['hoge']:'';

これを短くしたくて、次のような1文字関数を用意したりします。

function P($name, $default = "")
{
  $val = $default;  
  if (isset($_GET[$name])){   $val = $_GET[$name];}  
  if (isset($_POST[$name])){  $val = $_POST[$name];}  
  return $val;  
}


$hoge = P('hoge', 0);
$foo  = P('foo', '');
id:bushimichi

変数の初期化はよくすることなので、これも便利ですね。

2010/08/23 01:35:23

その他の回答6件)

id:y-kawaz No.1

回答回数1422ベストアンサー獲得回数226

ポイント25pt

よく使うのは以下の3つです。

<?php
// htmlspecialchars する
function h($v) {
    return htmlspecialchars($v, ENT_QUOTES);
}

// 参考→ http://d.hatena.ne.jp/amachang/20090803/1249292858
function expr($v) {
    return $a;
}

// 参考→ http://d.hatena.ne.jp/amachang/20090803/1249292858
function idx($array, $i) {
    return $array[$i];
}
?>
id:bushimichi

function h() は、よく使いそうですね。

2010/08/19 16:26:37
id:yamaneroom No.2

回答回数1040ベストアンサー獲得回数61

ポイント25pt

>|php|

// メッセージを出力し、現在のスクリプトを終了する

function e($status) {

exit($status);

}

||<

id:bushimichi

function e() は、error 関数を連想させてデバックにはいいですね。

2010/08/19 16:27:23
id:bestlvbbs No.3

回答回数105ベストアンサー獲得回数0

(はてなにより削除しました)
id:otaxa No.4

回答回数25ベストアンサー獲得回数8

ポイント25pt

「e();」というのを使ってます。

「env」の略のつもりで、$_ENVや$_SERVERなんかの値を短く、かつ小文字でも取得できるようにするものです。

<?php
function e($key){
    $key=strtoupper($key);
    if(isset($_ENV[$key])){
        return $_ENV[$key];
    }else if(isset($_SERVER[$key])){
        return $_SERVER[$key];
    }else if($GLOBALS[$key]){
        return $GLOBALS[$key];
    }
}
?>

実際にはもっといろいろ処理を詰め込んでます。

(クエリのパース結果やSSL内かどうかなど)

また、第二引数にtrueかfalseのフラグをつけて、結果の返却をreturnかechoで選べるようにしてもいいかなとも思います。

id:bushimichi

なるほど、$_SERVERもよく使うのに長いですからね。

1文字関数化するのはいいですね。

apache_getenv で取得する値なんかも追加してもいいかもしれませんね。

ありがとうございます。

2010/08/20 11:25:21
id:bayan No.5

回答回数100ベストアンサー獲得回数13ここでベストアンサー

ポイント25pt

GETやPOSTのパラメータが送信されていればその値を変数に格納し、

送信されていなければデフォルト値を変数に格納する、

というコードを書くことがあります。

// if文で
$foo = 0;
if(isset($_GET['foo'])){
  $foo = $_GET['foo'];
}

// 三項演算子で
$hoge = (isset($_POST['hoge']))?$_POST['hoge']:'';

これを短くしたくて、次のような1文字関数を用意したりします。

function P($name, $default = "")
{
  $val = $default;  
  if (isset($_GET[$name])){   $val = $_GET[$name];}  
  if (isset($_POST[$name])){  $val = $_POST[$name];}  
  return $val;  
}


$hoge = P('hoge', 0);
$foo  = P('foo', '');
id:bushimichi

変数の初期化はよくすることなので、これも便利ですね。

2010/08/23 01:35:23
id:lvbestbbs No.6

回答回数129ベストアンサー獲得回数0

ポイント10pt (はてなにより削除しました)
id:ask001 No.7

回答回数49ベストアンサー獲得回数0

ポイント10pt (はてなにより削除しました)

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません