我有一个奇怪的问题,我似乎无法解决我的生活。
我正在从mysql查询生成一个数组($tags),它看起来像这样:
Array(
[1] => Safety Toe
[2] => Waterproof
)然后我在循环中生成另一个数组($link):
Array(
[1] => Array(
[0] => 1
[1] => 2
)
[2] => Array(
[0] => 1
[1] => 2
)
)另外,我有两个预定义的变量,在本例中如下所示:
$max == 2;
$title_count == 3;后来我有了2个for循环,1个是嵌套的:
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>";
}
}
}这应该会产生一些类似的东西:
Safety Toe Safety Toe Safety Toe
Waterproof Waterproof Waterproof问题是我得到的是:
Safety Toe Safety Toe Safety Toe 这让我很好奇,所以我尝试手动输入$tags2。它工作并产生了:
Waterproof Waterproof Waterproof
Waterproof Waterproof Waterproof但是,如果我手动将它们都设置为$tags$link[1][1],则会得到一个空结果。如果我设置了一个变量,比如$test = $link1;(回显为2),然后尝试$tags$test,我什么也得不到。但是,如果我设置$test = 2;并执行$tags$test,我就可以防水。
我非常困惑,如果我遗漏了什么,或者任何关于为什么会是这样的想法,请让我知道。
谢谢!
发布于 2013-07-10 06:03:07
我找出了我的问题,从我发布的内容中无法确定。
我测试了
$tags[intval($links[1][1])]它是通过分解字符串(1,2)生成的worked.The $links数组。我一直在",“而不是",”,所以第二个条目的值是“2”而不是"2",因此是intval。
字符串需要调整为"1,2“,或者拆分需要调整为”,“。任何一种方法都可以解决问题。
https://stackoverflow.com/questions/17557972
复制相似问题