如果为空则删除数组

时间:2014-02-25 15:40:36

标签: php arrays

我有一系列文件上传错误。 如果上传出错,它会显示错误消息。 但是如果数组没有错误,它会在我的视图中显示“数组”。

如果“数组”为空,如何删除它?

我的控制器:

if (!is_null($avatar) && !empty($avatar)) {
            if ($_FILES && $_FILES['avatar']['name'] !== "") {
                if (!$this->upload->do_upload('avatar')) {
                    $data['errors'] = array('error' => $this->upload->display_errors());
                } else {
                    $image = $this->upload->data();
                    $avatar = $image['file_name'];
                }
            }
        }
$this->load->view('auth/edit_profile_form', $data);

我的观点:

<div class="errors">
<?php echo $errors; ?>
</div>

4 个答案:

答案 0 :(得分:3)

检查错误数组上的条目数量:

echo (count($errors) > 0 ? implode("<br>", $errors) : '');

答案 1 :(得分:1)

在您的视图中,您想要

<?php if(is_array($errors) && !empty($errors)) { ?>
    <div class="errors">
        <?php foreach($errors as $error) { ?>
            <?php echo $error; ?>
        <?php } ?>
    </div>
<?php } ?>

这会检查数组中是否有任何内容以及循环遍历数组中的每个项目并回显它

答案 2 :(得分:0)

检查是否设置了$errors变量。如果$errors['error']包含某些内容,则会打印<div class="errors">

<?php
if ($errors['error']) {
     echo '<div class="errors">'.$errors['error'].'</div>';
}
?>

答案 3 :(得分:0)

在您看来:

<?php if ($errors['error']): >
<div class="errors">
  <?php echo $errors['error']; ?>
</div>
<?php endif; >