2016-09-11 15 views
-1

にコードを追加し、私は次のコードでPHPの関数を作成したいが、私はそれが動作を停止機能にこれを追加するとき:

コードは動作します:は、単にPHP関数

$arr = array(
     "index.php" => $home, 
     "about.php" => $about, 
     "details.php" => $details 
    ); 
    $url = basename($_SERVER['PHP_SELF']); 

    foreach($arr as $key => $value){ 

     if($url == $key) { 
      echo $value; 
     } 
    } 

コードdoesntの仕事:

function metaData() { 
    $arr = array(
     "index.php" => $home, 
     "about.php" => $about, 
     "details.php" => $details 
    ); 
    $url = basename($_SERVER['PHP_SELF']); 

    foreach($arr as $key => $value){ 

     if($url == $key) { 
      echo $value; 
     } 
    } 
} 

metaData(); // NULL 
+2

変数を渡さないか、グローバルにすると認識されないと思います。 –

答えて

2

$home$about$detailsは、すべてあなたの機能の範囲外です。関数自体にパラメータを渡す必要があります。

function metaData($home, $about, $details) { 
    $arr = array(
     "index.php" => $home, 
     "about.php" => $about, 
     "details.php" => $details 
    ); 
    $url = basename($_SERVER['PHP_SELF']); 

    foreach($arr as $key => $value){ 

     if($url == $key) { 
      echo $value; 
     } 
    } 
} 

metaData($home, $about, $details); 
+0

そうですね、私がコメントに書いたケースでした。私は確信していませんでした。 –