我正在使用 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/