私はグーグルで検索しましたが、答えが見つかりませんでした。関数に渡そうとしている変数に格納している配列があります。
$myArr = 'array('item1', 'item2')';
require('script.php'); //where actual function is
makeCode($myArr);
makeCode(array('item1'、'item2'));を使用する場合 それはうまくいきます..私もに追加しようとしましたglobal $myArr
がmakeCode
、それもうまくいきませんでした。
スコープの問題だと思いますが、文字列を誤用しているのかもしれません。print_r($ myArr)は正しく印刷されますが、通過していないか何かです。
この関数は基本的に$myArr値を比較するだけで、関数の配列にあるものと一致する場合は正しいHTMLを出力するため、リストしませんでした。変数ではなく、機能します。ありがとう!
--makeCode()--
function makeCode($listArr){
/* global $myArr; //Tried this */
$output = '';
$items = array(
'item1' => "Code for item1",
'item2' => "Code for item2"
)
/* $myArr = $listArr; //tried this too */
foreach ($listArr as $val) {
if(array_key_exists($val, $items)){
if(strlen($output)>0) $output .="|"; //Add Sytnax
$output .="$items[$val]";
}
}
}
それはほとんどそれです。