如何在PHP循环外访问数组

时间:2016-04-14 18:54:21

标签: php mysql

我想访问循环外部的数组$ row2,以便我可以在if else条件下进行比较,因为$ row2数组包含许多数字。是否有任何解决方案可以在循环或任何其他方法之外访问$ row数组?

<?php
$sql = (" SELECT * FROM result ");
$query = mysqli_query($db, $sql);

while($row = mysqli_fetch_array($query)) {
    $row2 $row['id'];
}

for($i=1;$i<=10;$i++) {
    if ($i<= $row2) {
        echo "<font color='red'><font size='50px'>".$i."</font></font>"."<br>";
        continue;
    } else {
        echo $i.'<br>';
    }
}
?>

3 个答案:

答案 0 :(得分:1)

如果你想要遍历两个依赖的东西你需要嵌套它们,否则<p><a href="?p=toplists" onclick="if(useAjax == true){ ajax('GET', true, 'toplists.php', function(content){ document.getElementById('content_holder').innerHTML = content; }); return false;}">Top Lists</a></p> <div id="content_holder"></div>将始终包含while循环中的 last 值:

$row2

如果这不是您想要的,请澄清您的问题。

答案 1 :(得分:0)

将您的变量传递给一个单独的函数,该函数执行您想要的任何任务。

<?php
while($row = mysqli_fetch_array($query))
{
     MyFunction($row2);
}

function MyFunction($passed_row2_value){
    // perform whatever task you want here.
}
?>

答案 2 :(得分:0)

这会以某种格式显示查询检索到的ID并填充空格而不使用格式。

<?php
$sql = (" SELECT * FROM result ");
$query = mysqli_query($db, $sql);

$row2 = [];
while($row = mysqli_fetch_array($query)) {
    $row2[$row['id']] = true;
}

for($i=1;$i<=10;$i++) {
    if ($row2[$i]) {
        echo "<font color='red'><font size='50px'>".$i."</font></font>"."<br>";
    } else {
        echo $i.'<br>';
    }
}
?>