php - 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 问题,谢谢您的考虑。
解决方案
您的函数可以简单地返回$state
数组:
function getBooks() {
/* your other code */
return $state;
}
假设这$state[ "books" ]
是一个数组,您可以像这样显示任何单个列表项 - 这是假设您知道要显示的项目的索引:
<?php $state = getBooks(); ?>
<p><?php echo $state[ "books" ][ 0 ]; ?></p>
如果您想在 中显示所有变量$state[ "books" ]
,可以使用 aforeach
或for
循环遍历数组 - foreach:
foreach ( $state[ "books" ] as $book ) {
echo $book . "<br>";
}
为了:
for ( $i = 0; $i < count( $state[ "books" ); $i++ ) {
echo $state[ "books" ][ i ];
}
推荐阅读
- c++ - 什么是矢量
a(b) 意思是,在 C++ 中? - python - 修复类的参数
- python - Python网页抓取打开新标签
- angular - web-animations-js 在 IE 9 SCRIPT5007 中给出错误:预期对象;网络动画.min.js (15,23868)
- oracle - 使用 SQL*Plus 运行具有多个命令提示符会话的多个脚本
- c# - 如何在事件发生后使用 Caliburn 默认检查方法?
- python - 使用 Jinja PrefixLoader 加载的模板内的相对路径导入
- oracle-maf - Oracle MAF 2.5.1 默认应用程序左上角奇怪的红色图标
- javascript - 如何使用 Angular 管道过滤掉空值?
- python - Python csv.DictReader 的内存使用问题