繁体   English   中英

回显数组的一部分? 的PHP

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM