我如何删除空白数组()php
How do i remove blank array() php
我正在使用 get_where 查询在 CI 中检索 post,我的 where 变量是这个类别。
我在 foreach 循环中将类别数组传递给 get_where 查询,但是如果类别下没有 post,查询在 return 中给我空白数组。
我的类别数组:
Array (
[0] => Array (
[0] => 341
[1] => Email Templates
[2] => email-templates
[3] => marketing
[4] => Email Templates
[5] => 340 )
[1] => Array (
[0] => 342
[1] => Newsletters
[2] => newsletters
[3] => marketing
[4] => Newsletters
[5] => 341 )
[2] => Array (
[0] => 343
[1] => e-Flyers
[2] => e-flyers
[3] => marketing
[4] => e-Flyers
[5] => 341 )
[3] => Array (
[0] => 344
[1] => Catalogs
[2] => catalogs
[3] => marketing
[4] => Catalogs
[5] => 341 )
[4] => Array (
[0] => 345
[1] => Email Stationery
[2] => email-stationery
[3] => marketing
[4] => Email Stationery
[5] => 341 ) )
上面的数组是我的 $subcatid;
我的控制器:
public function index()
{
$data['post'] = $this->post->get_category_post($subcatid);
print_r($data['post']);
$this->load->view('frontend/post/category_post', $data);
}
在get_category_post; post 函数
function get_category_post($up_cat)
{
foreach($up_cat as $cat){
$query = $this->db->get_where('accmark_posts', array('up_sub_cat' => $cat[0]));
$result = $query->result();
print_r($result);
}
}
这个函数给我以下数组
Array ( )
Array ( )
Array ( )
Array ( )
Array ( )
Array ( )
Array ( )
Array ( )
Array ( )
Array ( )
Array ( )
Array ( )
Array ( )
Array (
[0] => stdClass Object (
[up_id] => 1
[user_id] => mediaexhibitor
[up_time] => 2015-02-15 16:24:11
[up_cat] => 340
[up_name] => RealEsta - Real Estate Email Marketing
[up_name_slug] => realesta-real-estate-email-marketing )
我想从结果中删除这个空白 array()。
使用array_filter($result)
。如果您不提供回调函数作为第二个参数,该函数将过滤掉所有等于 false 的数组项,例如空数组。
在其中添加一个 if
条件。
例如:
$errors = array_filter($_POST);
if (empty($errors)) {
echo "array is empty.";
}
else
{
echo "It is not empty.";
}
或
数组中有两个元素,这绝对不意味着数组为空。作为快速解决方法,您可以执行以下操作:
$errors = array_filter($errors);
if (!empty($errors)) {
}
array_filter()
函数的默认行为将从数组中删除等于 null
、0
、''
或 false
[=20= 的所有值]
否则,在您的特定情况下,如果至少有一个元素具有 "empty" 值,empty()
构造将始终 return true
。
我正在使用 get_where 查询在 CI 中检索 post,我的 where 变量是这个类别。
我在 foreach 循环中将类别数组传递给 get_where 查询,但是如果类别下没有 post,查询在 return 中给我空白数组。
我的类别数组:
Array (
[0] => Array (
[0] => 341
[1] => Email Templates
[2] => email-templates
[3] => marketing
[4] => Email Templates
[5] => 340 )
[1] => Array (
[0] => 342
[1] => Newsletters
[2] => newsletters
[3] => marketing
[4] => Newsletters
[5] => 341 )
[2] => Array (
[0] => 343
[1] => e-Flyers
[2] => e-flyers
[3] => marketing
[4] => e-Flyers
[5] => 341 )
[3] => Array (
[0] => 344
[1] => Catalogs
[2] => catalogs
[3] => marketing
[4] => Catalogs
[5] => 341 )
[4] => Array (
[0] => 345
[1] => Email Stationery
[2] => email-stationery
[3] => marketing
[4] => Email Stationery
[5] => 341 ) )
上面的数组是我的 $subcatid;
我的控制器:
public function index()
{
$data['post'] = $this->post->get_category_post($subcatid);
print_r($data['post']);
$this->load->view('frontend/post/category_post', $data);
}
在get_category_post; post 函数
function get_category_post($up_cat)
{
foreach($up_cat as $cat){
$query = $this->db->get_where('accmark_posts', array('up_sub_cat' => $cat[0]));
$result = $query->result();
print_r($result);
}
}
这个函数给我以下数组
Array ( )
Array ( )
Array ( )
Array ( )
Array ( )
Array ( )
Array ( )
Array ( )
Array ( )
Array ( )
Array ( )
Array ( )
Array ( )
Array (
[0] => stdClass Object (
[up_id] => 1
[user_id] => mediaexhibitor
[up_time] => 2015-02-15 16:24:11
[up_cat] => 340
[up_name] => RealEsta - Real Estate Email Marketing
[up_name_slug] => realesta-real-estate-email-marketing )
我想从结果中删除这个空白 array()。
使用array_filter($result)
。如果您不提供回调函数作为第二个参数,该函数将过滤掉所有等于 false 的数组项,例如空数组。
在其中添加一个 if
条件。
例如:
$errors = array_filter($_POST);
if (empty($errors)) {
echo "array is empty.";
}
else
{
echo "It is not empty.";
}
或
数组中有两个元素,这绝对不意味着数组为空。作为快速解决方法,您可以执行以下操作:
$errors = array_filter($errors);
if (!empty($errors)) {
}
array_filter()
函数的默认行为将从数组中删除等于 null
、0
、''
或 false
[=20= 的所有值]
否则,在您的特定情况下,如果至少有一个元素具有 "empty" 值,empty()
构造将始终 return true
。