首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >函数看不到数组..在变量中存储一个禁忌?

函数看不到数组..在变量中存储一个禁忌?
EN

Stack Overflow用户
提问于 2013-02-21 09:46:54
回答 1查看 56关注 0票数 0

我用谷歌搜索了一下,也没找到答案。我将一个数组存储在一个变量中,并试图将其传递给一个函数。

代码语言:javascript
复制
$myArr = 'array('item1', 'item2')';

require('script.php'); //where actual function is

makeCode($myArr);

当我使用数组(makeCode(‘item1’,‘item2’))时,它工作得很好。我甚至尝试过将global $myArr添加到makeCode中,但也不起作用。

我认为这是一个作用域问题,但可能我误用了字符串。print_r($myArr)打印正常,只是没有通过或有什么问题。

这个函数基本上只是比较HTML值,如果它与函数数组中的值匹配,它就会输出正确的$myArr,所以我没有列出它。它可以工作,但不是变量..谢谢!

代码语言:javascript
复制
--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]";
            }
        }
  }

差不多就是这样。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-21 09:49:44

代码语言:javascript
复制
$myArr = 'array('item1', 'item2')';

$myArr在这里是一个字符串。我不确定你是不是这个意思。尝试:

代码语言:javascript
复制
$myArr = array('item1', 'item2');

如果这就是您的意思,那么它的行为将不同于调用

代码语言:javascript
复制
makeCode(array('item1', 'item2')); 

因为这是使用实际的数组调用的。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14993251

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档