匿名質問者
匿名質問者匿名質問者とは「匿名質問」を利用して質問した質問者。
「匿名質問」では、ユーザー名を公開せずに匿名の質問ができます。
詳しくはこちら

PHP(wordpress)についてご質問させてください。


wordpressのテーマ編集で以下のように変数に代入しています。

$custom = get_post_custom($post->ID);

$dog = isset( $custom["dog"][0] ) ? $custom["dog"][0]: '';
$cat = isset( $custom["cat"][0] ) ? $custom["cat"][0]: '';
$monkey = isset( $custom["monkey"][0] ) ? $custom["monkey"][0]: '';
$bird = isset( $custom["bird"][0] ) ? $custom["bird"][0]: '';
$tiger = isset( $custom["tiger"][0] ) ? $custom["tiger"][0]: '';

$dog以下のような変数が約50個くらいあるのですが、どうしてもソースが長くなってしまいます。
これをもっとコンパクトに短く記述する方法が知りたいです。

どなたかご教授いただけると助かります。

よろしくお願いします。

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2012/10/20 12:58:16
  • 終了:2012/10/22 22:59:05

ベストアンサー

匿名回答1号 No.1

匿名回答1号「匿名質問」を利用した質問に回答すると「匿名回答○号」と匿名で表示されます。
「匿名質問」では、ユーザー名を公開せずに匿名の質問ができます。
詳しくはこちら
2012/10/20 22:26:42

一例

<?php
$custom = get_post_custom($post->ID);
$var_array = array('dog', 'cat', 'monkey', 'bird', 'tiger');
foreach ($var_array as $var) {
    ${$var} = isset( $custom[$var][0] ) ? $custom[$var][0]: '';
}
匿名質問者

ありがとうございます。
この記述で想定通りに動作させることができました。

2012/10/22 22:57:41

その他の回答(1件)

匿名回答1号 No.1

匿名回答1号「匿名質問」を利用した質問に回答すると「匿名回答○号」と匿名で表示されます。
「匿名質問」では、ユーザー名を公開せずに匿名の質問ができます。
詳しくはこちら
2012/10/20 22:26:42ここでベストアンサー

一例

<?php
$custom = get_post_custom($post->ID);
$var_array = array('dog', 'cat', 'monkey', 'bird', 'tiger');
foreach ($var_array as $var) {
    ${$var} = isset( $custom[$var][0] ) ? $custom[$var][0]: '';
}
匿名質問者

ありがとうございます。
この記述で想定通りに動作させることができました。

2012/10/22 22:57:41
匿名回答2号 No.2

匿名回答2号「匿名質問」を利用した質問に回答すると「匿名回答○号」と匿名で表示されます。
「匿名質問」では、ユーザー名を公開せずに匿名の質問ができます。
詳しくはこちら
2012/10/22 12:34:06

(本当の要件がわからないので)まったく同じではないですが、50個の部分が可変だったり、前もってどんな値が来るかわからない場合はこういう書き方もあるかと思います。

$names = array();
foreach ($custom as $key => $item) {
    if (count($item) > 0) {
        $names[$key] = $item[0];
    }
}
extract($names);
匿名質問者

ありがとうございました。
今回は上の方の回答を参考にさせていただきましたが、こういう記述もあるんですね。
後学のために覚えておきます。

2012/10/22 22:59:29

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

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

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

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

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません