首页 > 解决方案 > PHP - 如何绕过具有 2 个值的变量?

问题描述

我是 PHP 的新手,希望能被引导到正确的方向。

我需要能够同时拥有:

if ( !empty($state['books']) ) {
      $state_books = $state['books'];
                        }

if ( !empty($state['books']) ) {
      $state_books = $state['dehd_books'];
                        }

显然,当我同时覆盖变量 $state_books 的值时,只有第二个在运行,但我希望能够显示这两个结果。我该如何做到这一点?我知道变量 $state_books 不能有两个不同的值。是否像尝试创建一个加法变量一样简单?

对不起,如果这是一个 XY 问题,谢谢您的考虑。

标签: phpvariables

解决方案


您的函数可以简单地返回$state数组:

function getBooks() {

    /* your other code */

    return $state;

}

假设这$state[ "books" ]是一个数组,您可以像这样显示任何单个列表项 - 这是假设您知道要显示的项目的索引:

<?php $state = getBooks(); ?>

<p><?php echo $state[ "books" ][ 0 ]; ?></p>

如果您想在 中显示所有变量$state[ "books" ],可以使用 aforeachfor循环遍历数组 - foreach:

foreach ( $state[ "books" ] as $book ) {

    echo $book . "<br>";

} 

为了:

for ( $i = 0; $i < count( $state[ "books" ); $i++ ) {

    echo $state[ "books" ][ i ];

}

推荐阅读