PHP 関数で外部からの変数を使用する
2023-12-10 01:30:40
質問
function parts($part) {
$structure = 'http://' . $site_url . 'content/';
echo($tructure . $part . '.php');
}
この関数は変数
$site_url
という変数が定義されていますが、この変数は関数に渡されることはありません。
どうすれば関数内で返されるようになるのでしょうか?
どのように解決するのですか?
第2パラメータを追加する
関数に追加のパラメータを渡す必要があります。
function parts($site_url, $part) {
$structure = 'http://' . $site_url . 'content/';
echo $structure . $part . '.php';
}
クロージャの場合
もしクロージャを使いたいのであれば、変数を現在のスコープにインポートすることができます (
use
キーワード)。
$parts = function($part) use ($site_url) {
$structure = 'http://' . $site_url . 'content/';
echo $structure . $part . '.php';
};
global
- 悪しき習慣
この投稿はよく読まれているので、何かについて明確にする必要があります。
global
. これを使うことはバッドプラクティスと考えられています。
この
と
この
).
完全を期すために、以下は
global
:
function parts($part) {
global $site_url;
$structure = 'http://' . $site_url . 'content/';
echo($structure . $part . '.php');
}
グローバル変数を使用することをインタープリタに伝える必要があるため、動作します。 は考えます。 と思ってしまうからです。
推奨される読み物です。
関連
-
[解決済み】ディレクトリ内のファイル数を数える PHP
-
[解決済み】mysqli_select_db()は、パラメータ1がmysqliであることを期待し、文字列が与えられる。
-
[解決済み】SSLピア証明書またはSSHリモートキーがOKでなかった
-
[解決済み】書き込みコンテキストでメソッドの戻り値を使用することができない
-
[解決済み] libapache2-mod-php7 パッケージの場所がわからない
-
[解決済み] PHPで配列から要素を削除する
-
[解決済み] 変数が「未定義」または「NULL」であるかどうかを判断するにはどうすればよいですか?
-
[解決済み] PHPからJavaScriptに変数やデータを渡すにはどうしたらよいですか?
-
[解決済み】PHPの'foreach'は実際どのように動作するのですか?
-
[解決済み] リファレンス - このシンボルはPHPで何を意味するのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】XAMPPポート80をPID 4の「Unable to open process」が使用中 [重複] XAMPPポート80をPID 4の「Unable to open process」が使用中。]
-
[解決済み】SQLSTATE[42000]: 構文エラーまたはアクセス違反が発生しました。1064 SQL 構文にエラーがあります - PHP - PDO [重複]。
-
[解決済み】予期せぬ例外。SQLSTATE[HY000] [1045] Access denied for user ****@'localhost' (using password: YES)
-
[解決済み】「セッションキャッシュリミッターを送信できません - ヘッダーはすでに送信されています」【重複】。
-
[解決済み】新しいPHPMailerはPHPMailerAutoload.phpが必要?
-
[解決済み】Phpのincludeが機能しない? 関数がincludeされない
-
[解決済み】chromeの「net : Failed to load resource: net::ERR_SPDY_PROTOCOL_ERROR" は何がおかしいのか?
-
[解決済み】Netbeans 7.4 for PHPで「スーパーグローバルな$_POST配列に直接アクセスしないでください」という警告が発生する。
-
[解決済み] mysqli_fetch_assoc() は、パラメータ 1 が mysqli_result であることを期待し、boolean が与えられる [重複] 。
-
[解決済み] PHP のグローバル変数は悪い習慣と考えられていますか?もしそうなら、なぜですか?