1. ホーム
  2. php

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'); 
}

グローバル変数を使用することをインタープリタに伝える必要があるため、動作します。 は考えます。 と思ってしまうからです。

推奨される読み物です。