数组返回“数组”

时间:2015-05-27 09:13:33

标签: php

这是我第一次尝试创建一个数组,但它并不是那么顺利。

当按下输入字段下方的提交按钮时,我的代码会扫描表单中的每个$_POST。我想要它只是获取“填充”input的内容。好吧生活充满了失望,所以我试图删除所有空数组元素。但不是这样做,而是回应“数组”这个词。

自从我的C#天以来,我一直都很擅长阵列,而且我从来不知道为什么,因为它们总是看起来如此简单。如果有人能告诉我我做错了什么,我会很感激。

高于<html>

的PHP代码
<?php
    //This is what I've tried before
    //$klant = array();

    foreach($_POST as $k => $v) {
        if (substr($k,0,10) == 'newRecord') {
          $id = substr($k,10);
          $klant[] = $v;

          $klant = array_filter($klant);
          echo $klant;
        }
    }
?>

标记

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
    <table>
        <?php
            $query = ("select * from table1");
            $result = mysqli_query($con, $query) or die (mysqli_error());
            while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)){
            $id = $row['rowid'];
        ?>
        <tr><!--There are multiple rows, that's why I'm using foreach($_POST as $k => $v)-->
            <td>
                <input class="newRecord<?php echo $id; ?>" type="text" name="newRecord<?php echo $id; ?>" />
                <a href="?record=<?php echo $id; ?>">
                    <button class="saveRecord<?php echo $id; ?>" name="saveRecord<?php echo $id; ?>">Save</button>
                </a>
            </td>
        </tr>
        <?php } ?>
    </table>
</form>

4 个答案:

答案 0 :(得分:3)

echo数组不能使用print_rvar_dump

对于漂亮的打印阵列试试这个

echo "<pre>";
print_r($your_array);
echo "</pre>";

答案 1 :(得分:0)

改变这个:

echo $klant;

对此:

print_r($klant);

或者这个:

var_dump($klant);

echo仅用于字符串,print_rvar_dump将回显任何内容(字符串,数组,对象等)。

编辑OP编辑:

这将删除数组中任何空的内容:

foreach ($klant as $key => $value)
    if (empty($value))
        unset($klant[$key]);
print_r($klant);

答案 2 :(得分:0)

试试这个

    foreach($_POST as $k => $v) {
        if (substr($k,0,10) == 'newRecord') {
            $id = substr($k,10);
            $klant[] = $v;
        }
    }
var_dump($klant);

答案 3 :(得分:0)

我相信这就是你想要的!

<?php
    $klant = array();

    foreach($_POST as $k => $v) {
        if (substr($k,0,10) == 'newRecord' && trim($v)) {
          $id = substr($k,10);
          $klant[$id] = $v;
        }
    }
    echo "<pre>";var_dump($klant);echo "</pre>";
?>

但我并不确信我清楚地理解这个问题。你能澄清一点吗(如果这不是你想要的那样)?