php - 循环遍历数组并按索引添加到另一个数组
问题描述
我有一个看起来像这样的数组:
array(8) {
["rentalPropertyAddress"]=>
array(15) {
[0]=>
string(11) "111 tree st"
[1]=>
string(11) "112 tree st"
[2]=>
string(11) "122 tree st"
}
["gasInitialized"]=>
array(15) {
[0]=>
string(2) "on"
[1]=>
string(2) "on"
[2]=>
string(3) "off"
}
["waterInitialized"]=>
array(15) {
[0]=>
string(3) "off"
[1]=>
string(2) "on"
[2]=>
string(2) "on"
}
["electricInitialized"]=>
array(15) {
[0]=>
string(2) "on"
[1]=>
string(2) "on"
[2]=>
string(3) "off"
}
["inspectionDate"]=>
array(15) {
[0]=>
string(0) ""
[1]=>
string(0) ""
[2]=>
string(0) ""
}
["rentalDate"]=>
array(15) {
[0]=>
string(0) ""
[1]=>
string(0) ""
[2]=>
string(0) ""
}
["vacantInitialized"]=>
array(15) {
[0]=>
string(2) "no"
[1]=>
string(2) "no"
[2]=>
string(3) "yes"
}
}
我需要做的是将每个数组的每个索引添加到另一个数组或数组中。例如,预期的输出将是:
array {
array {
[0] => string(11) "111 tree st"
[1] => string(2) "on"
[2] => string(3) "off"
[3] => string(2) "on"
[4] => string(0) ""
[5] => string(0) ""
[6] => string(2) "no"
}
...
}
我已经尝试通过循环遍历数组并保留它的索引来使用 forloop 执行此操作:
$i = -1;
$retval = array();
foreach ($_GET as $key => $item) {
$i += 1;
$retval[$i] = $item[$i];
}
echo "<pre>";var_dump($retval);
但输出不是我所期望的:
array(8) {
[0]=>
string(11) "111 tree st"
[1]=>
string(2) "on"
[2]=>
string(2) "on"
[3]=>
string(3) "off"
[4]=>
string(0) ""
[5]=>
string(0) ""
[6]=>
string(3) "yes"
[7]=>
string(1) "5"
}
如何成功地将数组中的数据提取到不同的数组中?
解决方案
如果我没有误解您所需的输出,那么您可以使用两个 foreach()
来迭代每个嵌套数组并按所有嵌套数组的索引位置推送每个元素。
$_GET = [
"rentalPropertyAddress"=>["111 tree st","112 tree st","122 tree st"],
"gasInitialized"=>["on","on","off"],
"waterInitialized"=>["off","on","on"],
"electricInitialized"=>["on","on","off"],
"inspectionDate"=>["","",""],
"rentalDate"=>["","",""],
"vacantInitialized"=>["no","no","yes"]
];
$retval = [];
foreach ($_GET as $key => $item) {
$i=0;
foreach($item as $k=>$v){
$retval[$i][] = $v;
$i++;
}
}
echo "<pre>";
print_r($retval);
echo "</pre>";
推荐阅读
- c# - 根据另一个通用列表中的条件获取列表
- javascript - Why is my js code not capturing the margin-right value from id="article_toggle"?
- python - 将三角形分成相等的子三角形的简单方法
- asp.net - 如何修复下载主题中的asp按钮回发
- swift - 如何在 Swift 中使用 MDCButtons 自定义轮廓按钮?
- php-parse-error - 如何解决php中意外}的错误
- reactjs - 即使在绑定事件处理程序之后,表单值也不会更新
- swift - Swift 泛型...检查与关联类型的协议的一致性
- perl - 如何发送 SOAP 响应?
- php - 就我而言,我想使用 if 语句制作多个菜单。如何使另一个 if 语句适用于另一个菜单?