代码之家  ›  专栏  ›  技术社区  ›  TigerTiger

如何在数组中保持一定数量的元素?

  •  0
  • TigerTiger  · 技术社区  · 17 年前

    如何在数组中保持一定数量的元素?

    function test($var)
    {
        if(is_array($_SESSION['myarray']) {
            array_push($_SESSION['myarray'], $var);
        }
    }
    
    test("hello");
    

    $a test($var)

    5 回复  |  直到 12 年前
        1
  •  1
  •   Gumbo    17 年前
    while (count($_SESSION['myarray'] > 10)
    {
        array_shift($_SESSION['myarray']);
    }
    
        2
  •  2
  •   Rik Heywood    17 年前

    我会这样做:

    function test($var) {
        if (is_array($_SESSION['myarray']) {
            array_push($_SESSION['myarray'], $var);
            if (count($_SESSION['myarray']) > 10) {
                $_SESSION['myarray'] = array_slice($_SESSION['myarray'], -10);
            }
        }
    }
    

    如果在添加新值后数组中有10个以上的值,则只取最后10个值。

        3
  •  1
  •   Greg    17 年前

    您可以使用array_shift

    if(count($_SESSION['myarray']) == 11))
        array_shift($_SESSION['myarray']);
    
        4
  •  0
  •   usoban    17 年前
    if(count($_SESSION["myarray"]) == 10)
    {
     $_SESSION["myarray"][9] = $var;
    }
    else
    {
     $_SESSION["myarray"][] = $var
    }
    

        5
  •  0
  •   Anti Veeranna    17 年前
    function array_10 (&$data, $value)
    {
        if (!is_array($data)) {
            $data = array();
        }
    
        $count = array_push($data, $value);
    
        if ($count > 10) {
            array_shift($data);
        }
    }
    

    $data = array();
    
    for ($i = 1; $i <= 15; $i++) {
        array_10($data, $i);
        print_r($data);
    }
    
    推荐文章