【发布时间】:2019-02-27 15:51:08
【问题描述】:
美好的一天!我成功地找到了缩短我的代码的答案。有人说我可以合并 foreach 语句使其变得更短。但我到处搜索,但似乎找不到任何具有类似代码的解决方案。我只想知道如何合并这两个 foreach。
这是我的代码:
$newArray = [];
$keys = ['name', 'sex', 'age', 'height', 'weight'];
foreach(explode(PHP_EOL, Storage::get('upload/test.txt')) as $key => $line) {
$finalArray = [];
foreach( explode(',', $line) as $i => $value){
$finalArray[ $keys [ $i ] ] = $value;
}
array_push($newArray, $finalArray);
}
die(json_encode($newArray));
这是另一个与第一个代码具有相同输出的代码:
$newArray = array();
foreach(explode(PHP_EOL, Storage::get('upload/test.txt')) as $key => $line) {
array_push($newArray, explode(',', $line));
}
$finalArray = array();
foreach($newArray as $key) {
$key = [
"name" => $key[0],
"sex" => $key[1],
"age" => $key[2],
"height" => $key[3],
"weight" => $key[4],
];
array_push($finalArray, $key);
}
die(json_encode($finalArray));
【问题讨论】:
-
使用单个 for 循环,而不是 foreach 循环