php - 如何将数组变量保存在另一个数组 PHP 中
问题描述
我正在提出 3 * 5 = 之类的问题?和 ?* 5 = 15。为此,我将保存一个编号为 1 到 10 的数组变量 ($arrayTotalQuestions) 和一个编号为 5,10,15,20,25,30,35 的数组变量 ($arrayAnswers), $array1 内的 40,45,50。我将在我的表中循环这 2 行 20 次,如下所示:
foreach($array1 as $array1) {
echo $array1[array_rand($array1)];
}
数组内的(数组)变量:
$arrayTotalQuestions = range(1, 10);
$number = 5;
$arrayAnswers = (5, 10, 15, 20, 25, 30, 35, 40, 45, 50);
现在我想将这 3 个变量存储在另一个名为 $array1 的数组中:
$array1 = array(
"<tr><td>$this->arrayTotalQuestions</td> <td>x</td> <td>$this->number</td> <td>=</td> <td><input type='text' name='txtAnswer[$this->arrayTotalQuestions]'></td></tr>",
"<tr><td><input type='text' name='txtAnswer[$this->arrayAnswers]' value=''></td> <td>x</td> <td>$this->number</td> <td>=</td> <td>$this->arrayAnswers</td></tr>"
);
但我收到错误“数组到字符串的转换...”,因为 $array1 中的数组变量。我该如何解决这个问题?
解决方案
就像错误说您正在尝试将数组转换为字符串一样,这是不可能的。
看看这个例子:
<?php
$array = [1,2,3,4,5];
$newVar = "This is my array: $array";
?>
这会导致错误E_NOTICE : type 8 -- Array to string conversion -- at line 3
。
您正在尝试输出一个数组,其中包含多个值,作为字符串的一部分。PHP 不知道你想如何做到这一点(它应该只列出所有数组变量吗?它是否在它们之间放置了一个空格?一个逗号?一个逗号和一个空格?等等)
因此,您需要自己将数组转换为字符串。一种方法是使用join()
PHP 中的函数。
join()
接受 2 个参数:separator
并array
输出一个字符串,该字符串是由分隔符分隔的所有数组值。
所以上面的例子变成了:
<?php
$array = [1,2,3,4,5];
$newVar = "This is my array: ".join(", ", $array);
?>
哪个输出This is my array: 1, 2, 3, 4, 5
根据评论更新
要在同一个 foreach 循环中使用 2 个或更多数组,只需将其更改为 for 循环:
for($i = 0, $i < count($array1); $i++) {
echo $array1[$i].': '.$array2[$i];
}
也有一种使用 foreach 循环的方法,但我发现这不是一种干净的维护方法(只是我的偏好)。
foreach($array1 as $index => $value) {
echo $value.': '.$array2[$index];
}
推荐阅读
- spreadsheet - 使用 importXML 从 URL 中批量查找售罄的产品页面
- javascript - Mapbox GL JS - 如何添加点云层
- entity-framework - Azure 函数启动中的 EF Core 迁移
- sql - 如何在“Case When Then”SQL 语句中用特殊字符替换字符?
- ios - 一个 viewcontroller 中有几个 tableview,每个 tableview 都有不同的 swipeActions。我该如何管理它们?
- javascript - 为什么 Windows.Forms.WebBrowser 比 iexplore.exe 慢?
- java - 应用程序启动时未触发 Spring Boot Flyway 迁移
- javascript - 如何从辅助文件修改 react useState
- arrays - bash - 关联数组下标 - “不是有效的标识符”
- excel - 从 DocXfactory 导出到 Excel 中的文本数据类型