我用谷歌搜索并没有看到答案。我有一个数组,我存储在一个变量中,我试图传递给一个函数..
$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]";
}
}
}
差不多就是这样。