私は、操作を実行する前にたくさんの文字列が空であるかどうかをチェックしたいという状況があります。私は手動で一つ一つの文字列でこのチェックを実行する必要がありますする必要はありませんので、私はこのようになります機能でそれを置く:文字列内の変数を引数として渡します
function format_field($field_name, $format) {
$value = get_field($field_name);
if ($value != "") {
return $format;
}
return "";
}
この関数の呼び出しは次のようになります。
format_field('website', "<p><strong>Website:</strong><a href=\"$value\">$value</a></p>");
$value
を文字列にformat_field()
に渡すと、$value
という値が返される前に関数内で展開されることが期待されていましたが、そうではないようです。
これはすべて可能ですか、間違っていますか?
私はまたsprintf()
について知っていますが、$value
は文字列内で複数回参照することができますので、理想的ではありません。
あなたは出力がする何をしたいですか? 'ウェブサイト'に文字列がある場合は ''ウェブサイト:something ''と言ったり、出力全体を完全に省略したりしますか? – Andy
関数内の変数 '$ value'は、関数を呼び出すコードの変数とは異なります。 [variables scope](http://php.net/manual/en/language.variables.scope.php)についての詳細を読む。 – axiac
'$ value'を' format_field(arg1、arg2) 'に2番目の引数として渡してから、関数の中で関数の中で動作させてください。もちろん' get_field() '関数を@アンディは以下のコメントで述べた –