PHP 移动数组项显示正确的数组但写入错误?
PHP Moving Array Item Shows Correct Array but Writes Wrong?
有一个代码可以将数组的元素向上移动一位 space。
URL 加载:
action?p=ArrayNumber
if (isset($_GET['p'])) {
$index = $_GET['p'];
$panel_dir = 'host.txt';
$panel_data = file($panel_dir);
$pos = $panel_data[$index];
$panel_data[$index] = $panel_data[$index-1];
$panel_data[$index-1] = $pos;
$f_panel = fopen($panel_dir, "w+");
foreach($panel_data as $panel_line) {
fwrite($f_panel, $panel_line);
}
fclose($f_panel);
}
内容如何开始:
Array ( [0] => Name [1] => List [2] => Folder [3] => Host )
当print_r($panel_data);它正确显示的数组:
Array ( [0] => Name [1] => List [2] => Host [3] => Folder )
回声内爆时($panel_data);数组合并移动的元素:
Name List HostFolder
Bcz of this(?!),似乎是将它们组合起来而不是换行。它确实按照愿望移动了它,但是..不知道组合是从哪里来的。
Name
List
HostFolder
使用 implode("\n", $array);
将行写入您的文件。
这是工作示例:
$array = [
'Name',
'List',
'Folder',
'Host'
];
$host = $array[3];
$array[3] = $array[3-1];
$array[3-1] = $host;
echo implode("\n", $array);
结果:
Name
List
Host
Folder
有一个代码可以将数组的元素向上移动一位 space。
URL 加载:
action?p=ArrayNumber
if (isset($_GET['p'])) {
$index = $_GET['p'];
$panel_dir = 'host.txt';
$panel_data = file($panel_dir);
$pos = $panel_data[$index];
$panel_data[$index] = $panel_data[$index-1];
$panel_data[$index-1] = $pos;
$f_panel = fopen($panel_dir, "w+");
foreach($panel_data as $panel_line) {
fwrite($f_panel, $panel_line);
}
fclose($f_panel);
}
内容如何开始:
Array ( [0] => Name [1] => List [2] => Folder [3] => Host )
当print_r($panel_data);它正确显示的数组:
Array ( [0] => Name [1] => List [2] => Host [3] => Folder )
回声内爆时($panel_data);数组合并移动的元素:
Name List HostFolder
Bcz of this(?!),似乎是将它们组合起来而不是换行。它确实按照愿望移动了它,但是..不知道组合是从哪里来的。
Name
List
HostFolder
使用 implode("\n", $array);
将行写入您的文件。
这是工作示例:
$array = [
'Name',
'List',
'Folder',
'Host'
];
$host = $array[3];
$array[3] = $array[3-1];
$array[3-1] = $host;
echo implode("\n", $array);
结果:
Name
List
Host
Folder