PHP echo数组?

时间:2017-02-06 13:09:10

标签: php arrays forms input foreach

我是新手,并不确定如何填充阵列并回应它。有人可以帮帮我吗? :)

首先我的数组,我希望从我的notes.txt文件中检索信息,如果有的话?!我不确定我是否需要两个声明?:

$test = array();
$test[] = json_decode(file_get_contents($file), TRUE);

无论如何,这是用于向数组添加元素的代码,即来自用户的输入:

$name = guestbook_input($_POST['name']);
$comment = guestbook_input($_POST['comment']);

$test[] = [
    'name' => $name,
    'comment' => $comment,
    'ip' => $_SERVER['REMOTE_ADDR'],
    'time' => date("y-m-d H:m")
];

// Write input to file
file_put_contents($file, json_encode($test));

此代码工作正常(我认为)并写入文件。

最后我试图将数组回显到这样的表:

<?php
$getfile = json_decode(file_get_contents('./notes.txt'), TRUE);
        foreach ($getfile as $value):   ?>
        <tr>
            <?php
                echo '<td>';
                echo $value['name'];
                echo '</td>';
                echo '<td>';
                echo $value['comment'];
                echo '</td>';
                echo '<td>IP:';
                echo $value['ip'];
                echo "<br>Tid:";
                echo $value['time'];
                echo '</td>'?>

        </tr>  <?php    endforeach; ?>

此代码会打印元素,但仅适用于留言簿中的第一个输入。我不知道这是不是这样做的正确方法,但希望有人可以帮助我,所以我可以做到这一点?

2 个答案:

答案 0 :(得分:-1)

您将从文件中读取的数组放入数组$test = json_decode(file_get_contents($file), TRUE); 的单个元素中 然后,您将添加新条目作为第二个元素。

您应该将数组初始化为:

ERROR in ./~/redux-form/lib/reduxForm.js
Module not found: Error: Cannot resolve module 'react-redux' in /home/priyanka/Finalproject/node_modules/redux-form/lib
 @ ./~/redux-form/lib/reduxForm.js 27:18-40

ERROR in ./~/redux-form/lib/values.js
Module not found: Error: Cannot resolve module 'react-redux' in /home/priyanka/Finalproject/node_modules/redux-form/lib
 @ ./~/redux-form/lib/values.js 9:18-40

ERROR in ./~/redux-form/lib/ConnectedField.js
Module not found: Error: Cannot resolve module 'react-redux' in /home/priyanka/Finalproject/node_modules/redux-form/lib
 @ ./~/redux-form/lib/ConnectedField.js 13:18-40

答案 1 :(得分:-1)

首先,您的声明和作业:

$test = array();
$test[] = json_decode(file_get_contents($file), TRUE);

函数json_decode(),正如您正在调用它,返回一个数组,因此首先声明变量不是必需,但最好这样做。但是,在函数调用中,您实际上是将整个结果分配给$test[0],因为$test[]只是创建一个带有下一个数字索引的新元素。分配用户输入的代码是正确的,因此可以正确输出。