php - 从 PHP 变量中删除空数组

标签 php mysql arrays pdo

我正在使用 PDO 以便从我的数据库中选择一些值。
对于我的$teachArray 的每次迭代,我将选定的值存储到我的$language_id 变量中。
然而,我也存储了一些空数组,这不是我的本意。

我想知道是否可以排除或删除我的 php 变量中的空数组。

这是我的简单查询。

$sqlFindId = "SELECT language_id
              FROM language_skill
              WHERE person_id = :person_id AND language_learning = :language_learning AND language_id = :language_id";

             foreach ($teachArray as $dataTeach)
             {
                 $query = $handler->prepare($sqlFindUser);
                 $query->bindValue(':person_id', $_SESSION['person_id']);
                 $query->bindValue(':language_learning', 1);
                 $query->bindValue(':language_id', $dataTeach);
                 $query->execute();
                 $language_id = $query->fetchAll(PDO::FETCH_ASSOC);
                 print_r($language_id);  
             }

我在查询中使用 print_r 以查看我的变量内容。

这是我的 print_r 的结果。我想摆脱空的第一个和最后一个数组。可以注意到,这些空数组可以出现在我的 print_r 中的任何位置。

Array ( ) Array ( [0] => Array ( [language_id] => 13 ) ) Array ( )

我试过用

$array= array_filter(array_map('array_filter', $language_id));

但是结果是一样的

最佳答案

         foreach ($teachArray as $dataTeach)
         {
             $query = $handler->prepare($sqlFindUser);
             $query->bindValue(':person_id', $_SESSION['person_id']);
             $query->bindValue(':language_learning', 1);
             $query->bindValue(':language_id', $dataTeach);
             $query->execute();
             $language_id = $query->fetchAll(PDO::FETCH_ASSOC);
             if ( count( $language_id ) != 0 ) {
                 print_r($language_id);  
             }
         }

希望对你有帮助:)

关于php - 从 PHP 变量中删除空数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44060992/

相关文章:

PHP SQL 分页

php - 选取所有fieldone不等于null的字段 + Propel

php - 网站功能受到干扰或被黑

javascript - 如何在不使用 Javascript 排序的情况下使 JSON 数组唯一

php - Laravel+Plupload 上传到 S3 的预检响应无效 - CORS

php - 将当前月份和年份与时间戳进行比较

Go 语言中的 PHP file_get_contents

mysql版本安装shell脚本

java记录行、列位置的方法

python - 将三维数组折叠为二维数组