我用谷歌搜索了一下,也没找到答案。我将一个数组存储在一个变量中,并试图将其传递给一个函数。
$myArr = 'array('item1', 'item2')';
require('script.php'); //where actual function is
makeCode($myArr);当我使用数组(makeCode(‘item1’,‘item2’))时,它工作得很好。我甚至尝试过将global $myArr添加到makeCode中,但也不起作用。
我认为这是一个作用域问题,但可能我误用了字符串。print_r($myArr)打印正常,只是没有通过或有什么问题。
这个函数基本上只是比较HTML值,如果它与函数数组中的值匹配,它就会输出正确的$myArr,所以我没有列出它。它可以工作,但不是变量..谢谢!
--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]";
}
}
}差不多就是这样。
发布于 2013-02-21 09:49:44
$myArr = 'array('item1', 'item2')';$myArr在这里是一个字符串。我不确定你是不是这个意思。尝试:
$myArr = array('item1', 'item2');如果这就是您的意思,那么它的行为将不同于调用
makeCode(array('item1', 'item2')); 因为这是使用实际的数组调用的。
https://stackoverflow.com/questions/14993251
复制相似问题