Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP-如何绕过具有2个值的变量?_Php_Variables - Fatal编程技术网

PHP-如何绕过具有2个值的变量?

PHP-如何绕过具有2个值的变量?,php,variables,Php,Variables,我是一名PHP新手,希望能被引导到正确的方向 我需要同时具备以下两种能力: if ( !empty($state['books']) ) { $state_books = $state['books']; } 及 很明显,当我覆盖变量$state_books的值时,只有第二个函数起作用,但我希望能够显示这两个结果。我如何做到这一点?我知道变量$state_books不能有两个不同的值。这和创建加法变量一样简单吗 如果这是XY问题,很抱

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

我需要同时具备以下两种能力:

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

很明显,当我覆盖变量$state_books的值时,只有第二个函数起作用,但我希望能够显示这两个结果。我如何做到这一点?我知道变量$state_books不能有两个不同的值。这和创建加法变量一样简单吗


如果这是XY问题,很抱歉,谢谢您的考虑。

您的函数只需返回
$state
数组:

函数getBooks(){ /*你的其他代码*/ 返回$state; } 假设
$state[“books”]
是一个数组,则可以这样显示任何单个列表项-这是假设您知道要显示的项的索引:


如果要显示
$state[“books”]
中的所有变量,可以使用
foreach
for
循环-foreach对数组进行迭代:

foreach($state[“books”]作为$book){
echo$book.“
”; }
用于:

for($i=0;$i
“如果这是XY问题,很抱歉”-这正是一个XY问题。为什么您认为需要一个变量同时具有两个值?当您打印变量时,您希望看到哪个值?为什么?您希望创建一个具有多个属性的对象?还是使用两个变量?您提出的解决方案是错误的,但您尝试的问题是什么要解决这个问题,
$state\u books
将是什么数据类型?字符串?数组?其他什么?我想我应该创建一个具有多个属性的对象。我希望最终结果是,包含此变量的函数同时打印$state['books']和$state['dehd\u books'].这说明了吗?假设
$state[“books”]
$state[“dehd_books”]
都是字符串,为什么不同时回显这两个…?@CDesign:听起来好像
$state
已经是您想要的对象了,不是吗?我想如果它的作用域是有限的,并且您想将值从它传输到另一个不同作用域的对象,或者要返回一些自定义数据结构,那么您应该阅读PHP:Basi中的类和对象通常,您可以创建一个定义数据结构和逻辑操作的类,然后创建该类的实例并将其属性设置为所需的值。整个类实例存储在变量中,可以从函数返回,等等。
if ( !empty($state['books']) ) {
      $state_books = $state['dehd_books'];
                        }