首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP -某些数组索引不接受变量

PHP -某些数组索引不接受变量
EN

Stack Overflow用户
提问于 2013-07-10 04:50:57
回答 1查看 73关注 0票数 0

我有一个奇怪的问题,我似乎无法解决我的生活。

我正在从mysql查询生成一个数组($tags),它看起来像这样:

代码语言:javascript
复制
Array(
    [1] => Safety Toe
    [2] => Waterproof
)

然后我在循环中生成另一个数组($link):

代码语言:javascript
复制
Array(
    [1] => Array(
        [0] => 1
        [1] => 2
    )
    [2] => Array(
        [0] => 1
        [1] => 2
    )
)

另外,我有两个预定义的变量,在本例中如下所示:

代码语言:javascript
复制
$max == 2;
$title_count == 3;

后来我有了2个for循环,1个是嵌套的:

代码语言:javascript
复制
for($y=0;$y<$max;$y++){
    for($x=1;$x<=$title_count;$x++){
        if($x==1){
            echo "<tr><td>".$tags[$link[$x][$y]]."</td>";
        }elseif($x<$title_count){
            echo "<td>".$tags[$link[$x][$y]]."</td>";
        }else{
            echo "<td>".$tags[$link[$x][$y]]."</td></tr>";
        }
    }
}

这应该会产生一些类似的东西:

代码语言:javascript
复制
Safety Toe Safety Toe Safety Toe
Waterproof Waterproof Waterproof

问题是我得到的是:

代码语言:javascript
复制
Safety Toe Safety Toe Safety Toe 

这让我很好奇,所以我尝试手动输入$tags2。它工作并产生了:

代码语言:javascript
复制
Waterproof Waterproof Waterproof
Waterproof Waterproof Waterproof

但是,如果我手动将它们都设置为$tags$link[1][1],则会得到一个空结果。如果我设置了一个变量,比如$test = $link1;(回显为2),然后尝试$tags$test,我什么也得不到。但是,如果我设置$test = 2;并执行$tags$test,我就可以防水。

我非常困惑,如果我遗漏了什么,或者任何关于为什么会是这样的想法,请让我知道。

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2013-07-10 06:03:07

我找出了我的问题,从我发布的内容中无法确定。

我测试了

代码语言:javascript
复制
$tags[intval($links[1][1])]

它是通过分解字符串(1,2)生成的worked.The $links数组。我一直在",“而不是",”,所以第二个条目的值是“2”而不是"2",因此是intval。

字符串需要调整为"1,2“,或者拆分需要调整为”,“。任何一种方法都可以解决问题。

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

https://stackoverflow.com/questions/17557972

复制
相关文章

相似问题

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