【问题标题】:PHP foreach loop MySQL Array Navigation [duplicate]PHP foreach循环MySQL数组导航[重复]
【发布时间】:2021-05-30 07:08:29
【问题描述】:

我的数组看起来像这样:

$primary_nav = array(
    array(
        'name'  => 'Dashboard',
        'url'   => 'index.php',
        'icon'  => 'gi gi-stopwatch'
    ),
    array(
        'name'  => 'eCommerce',
        'icon'  => 'gi gi-shopping_cart',
        'sub'   => array(
            array(
                'name'  => 'Dashboard',
                'url'   => 'page_ecom_dashboard.php'
            )
        )
    ),
    array(
        'name'  => 'Design Kit',
        'opt'   => '<a href="javascript:void(0)" data-toggle="tooltip" title="Quick Settings"><i class="gi gi-settings"></i></a>',
        'url'   => 'header'
    )
);

它的工作没有错误,但现在我的问题来了。我想将此设置添加到数据库中,以获取导航部分的大 .php 文件。

我的代码现在看起来像这样:

$stmt = $pdo->prepare("SELECT * FROM navigation");
$stmt->execute();
$results = $stmt->fetchAll(PDO::FETCH_OBJ);
if($stmt->rowCount() > 0){
    foreach ($results as $result){
        $primary_nav = array(
            array(
                'name'  => $result->name,
                'url'   => $result->url,
                'icon'  => $result->icon
            )
        );
    }
}

MySQL print_r

Array ( [0] => Array ( [name] => Dashboard [url] => index.php [icon] => gi gi-stopwatch ) ) 
Array ( [0] => Array ( [name] => Test [url] => test.php [icon] => gi gi-shopping_cart ) ) 
Array ( [0] => Array ( [name] => Test1 [url] => test23.php [icon] => gi gi-shopping_cart ) ) 

我遇到的问题是,我只在导航中获得了 Test1,其他 2 个被跳过了。如果我添加一个新的 Test1 也将被跳过,新的只会添加到导航中。因此,它始终只是导航中的一个链接。 我该如何解决这个问题以使所有链接都进入导航?

【问题讨论】:

  • $primary_nav 在循环的每次迭代中被替换。

标签: php arrays


【解决方案1】:

$primary_nav 在循环的每次迭代中都会被替换。您可以使用[]= 运算符将新数组推送到$primary_nav

$primary_nav = [];
foreach ($results as $result){
    $primary_nav[] = array(
        'name'  => $result->name,
        'url'   => $result->url,
        'icon'  => $result->icon
    );
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-19
    • 1970-01-01
    • 1970-01-01
    • 2013-07-10
    • 2021-12-20
    • 2016-10-25
    • 2013-07-12
    • 2011-06-09
    相关资源
    最近更新 更多