php,如何从while循环外部的feced数组中获取值?

php,如何从while循环外部的feced数组中获取值?,php,while-loop,fetch,isset,Php,While Loop,Fetch,Isset,这是我的密码。我想在while循环之外获取获取的值。 我该怎么做 while($myRow = $result->fetch_array()) { echo "<tr>"; echo "<td>"; ?><a href='./display_images2.php?showrealsize'> <img src="<?php echo $myRow["image"]; ?>" hei

这是我的密码。我想在while循环之外获取获取的值。 我该怎么做

while($myRow = $result->fetch_array())
    {   
        echo "<tr>";
        echo "<td>"; ?><a href='./display_images2.php?showrealsize'> <img src="<?php echo $myRow["image"];  ?>" height="100" width="100"> </a> <?php echo "</td>"; 
        echo "<td style='display: block;'>"; echo $myRow["name"]; echo "</td>";
        echo "</tr>";

    }




//THIS CODE DOESNT WORK>>
    if(isset($_GET['showrealsize'])){
        echo  "<img src=" ?> <?php echo $myRow['image']; ?> <?php echo ">";
        } 
while($myRow=$result->fetch\u array())
{   
回声“;

echo“”;?>要做到这一点,需要捕获数组中while循环中的值,并在需要时在数组外部使用它

例如:

$capture_val = array();
while($myRow = mysql_fetch_array($mysql_query))
  $capture_val[] = ""; //store the value you want to 
                       //store in this array to use later 
                       //outside of the array
}

print_r($capture_val);

关键是使用数组捕获while循环中的值。

要扩展unixmiah的答案,可以使用如下示例中的数组:

// create the array
$arr = array();

while($myRow = $result->fetch_array())
{   
    echo "<tr>";
    echo "<td>"; ?><a href='./display_images2.php?showrealsize'> <img src="<?php echo $myRow["image"];  ?>" height="100" width="100"> </a> <?php echo "</td>"; 
    echo "<td style='display: block;'>"; echo $myRow["name"]; echo "</td>";
    echo "</tr>";

    $arr[$myRow['id']] = $myRow['some_value']; // adds to $arr with the row ID as a key to the element.

}
//创建数组
$arr=array();
而($myRow=$result->fetch_array())
{   
回声“;

echo“”;?>您不能这样做,因为$myRow仅在while循环的作用域内定义。@Maximus2012 PHP没有块作用域。
$myRow
将被设置为while循环的最后一个值,该值可能为“false”因为一旦
$result
不再有行
fetch_array
将返回false,这就是
结束时的结果。@JonathanKuhn是的。这是对这种情况更正确的解释。即使是会话也不正确:(会话与此有什么关系?您正在为每次迭代设置一个变量(
$myRow
)。当有行时,
$myRow
将是一个数组,
While
循环将其视为“truthy”并保持循环。一旦到达行的末尾,
fetch\u array
返回false,
$myRow
设置为false,While循环将其视为false条件,从而结束循环。$capture\u val=array();不起作用。我想,我不知道如何正确使用它。它不能捕捉任何东西(