在foreach循环中重复使用数组

时间:2018-09-18 13:12:06

标签: php arrays

我有一个表,我只想在foreach循环中重复使用一次 例如:

$tab = [1,2,3]
foreach($tab as $value)
{
    $newTab = $tab;
    dump($newTab);
}

如果可能,请帮助我!

3 个答案:

答案 0 :(得分:0)

3月3日欢迎堆栈溢出!

如果您不希望在以后的通话中覆盖$newTab,可以这样做:

$tab = [1,2,3]
$newTab = null;

foreach($tab as $value)
{
    if ($newTab === null) {
        $newTab = $value;
        // if you only need this, remove the
        // comment from the following line (break)
        // break;
    }

    // or do more with $value
}

var_dump($newTab); // => 1

这将为您提供$tab中第一个不是null的值。因此,使用$tab = [null, null, 1, 2, 3],结果仍然是1

如果您希望$newTab成为数组的第一项,则可以使用

$newTab = $tab[0];

答案 1 :(得分:0)

我认为您正在寻找break;

$tab = [1,2,3]
foreach($tab as $value)
{
    $newTab = $tab;
    var_dump($newTab);
    break;             //add this to exit the loop after single iteration
}

答案 2 :(得分:0)

只需将$newTab移出循环并直接通过键进行选择即可。

$tab = [1,2,3];
$newTab = $tab[0]; // Select the first key of the $tab array
var_dump($newTab);

// Output: (int) 1

您不需要为此循环,但是如果您有其他东西并且由于某种原因需要循环,那么只需在第一次迭代后使用break

$tab = [1,2,3]
foreach($tab as $value)
{
    $newTab = $tab;
    var_dump($newTab);
    break;
}

//Output: (int) 1

这两种方法都可以使用,但是第一种方法更直接,更高效,如果需要更改,以后也更容易阅读。