簡體   English   中英

php foreach循環只輸出最后一個數組鍵值

[英]php foreach loop only outputs last array key value

我有一些代碼生成0-9之間的4個唯一隨機數: -

//Globals
$arr = array();
$gridMax = 9;
$i = 0;


while ( count($arr) < 4 ) {
$x = mt_rand(0, $gridMax);
    if ( !in_array($x, $arr) ) {
        $arr[] = $x;

        }
}

print_r($arr);

我正在嘗試創建一個網格,如果相應的網格數與我的數組中的4個唯一值之一相同,那么我希望它在$ build變量中添加一些文本。 如果沒有,什么都不做: -

while ($i <= $gridMax) {
foreach ($arr as $value) {
    if ($value == $i) { 
        $build = "build";
    } else {
        $build = "";
    }

}

echo "<li class=\"map\">{$build}</li>";
$i++;
}

但是,它僅適用於最后一個鍵中的最終值(如下所示): -

http://www.kryptonite-dove.com/sandbox/mt_rand/

誰能給我一些指示? 我已經缺席了幾個月的編碼,我的思緒有點模糊!

那這個呢:

while ($i <= $gridMax) 
{
    $build = '';

    foreach ($arr as $value) 
    {
        if ($value == $i) 
        { 
            $build .= "build";
        }   
        else        
        {
            $build .= "";
        }
    }

    echo "<li class=\"map\">{$build}</li>";
    $i++;
}
while ($i <= $gridMax) 
{
    $build = '';
    if(in_array($i, $arr)) $build = 'build';

    echo "<li class=\"map\">{$build}</li>";
    $i++;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM