[英]echo part of array? PHP
有人可以告诉我为什么我的代码只回显整个数组,而不是我在$list
声明的两个值,我几乎不知道任何php,所以有人可以告诉我怎么了吗?
if(isset($_POST['button'])) {
if( $_POST['filmnamn'] != "" && $_POST['betyg'] != "" && $_POST['link'] != "" && $_POST['photo'] != "" && $_POST['description'] != "") {
$myFile = 'demo.txt';
$titel = $_POST['filmnamn'] . ";" ;
$betyg = $_POST['betyg'] . ";" ;
$link = $_POST['link'] . ";" ;
$photo = $_POST['photo'] . ";" ;
$desc = $_POST['description'].PHP_EOL;
$data = "$titel$betyg$link$photo$desc";
$list = "$titel$betyg";
$fh = fopen($myFile, 'a');
fwrite($fh, $data);
fclose($fh);
$handle = fopen($myFile, 'r');
$fileinfo = fread($handle, filesize($myFile));
$fileinfo_array = explode(';', $fileinfo);
foreach($fileinfo_array as $list){
echo $list;
}
}
}
您设置了$list
但随后在foreach
覆盖了它。
$list = "$titel$betyg";
那你做
foreach($fileinfo_array as $list){
echo $list;
}
它成为数组的每个项目的位置。 您可以只echo
$list
或使用:
$list = explode(";", $list);
array_pop($list); //remove last blank item
foreach($list as $item){
echo $item;
}
编辑:
这将逐行读取文件并构建一个数组
while (!feof($handle)) {
$lines[] = fgets($handle);
}
fclose($handle);
Nex您想回显信息:
foreach($lines as $list){
//use my above code
}
注意:查看file_put_contents
而不是给出一个变量的回显:
print_r($list);
这行:
fwrite($fh, $data);
您将所有数组元素都写入文件中; 它应该是
fwrite($fh, $list);
编辑:
只需直接访问元素(如果只有两个);
$fileinfo_array[0];
$fileinfo_array[1];
或者您可以使用array_slice() ;
这行:
fwrite($ fh,$ data);
您将所有数组元素都写入文件中; 它应该是
fwrite($ fh,$ list);
编辑:
只需直接访问元素(如果只有两个);
$ fileinfo_array [0]; $ fileinfo_array [1];
或者您可以使用array_slice();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.