从数组中删除多个项目

时间:2017-05-14 14:54:04

标签: php arrays wordpress multidimensional-array

         $data_rows = array();
         $row = array(
                        0 => get_the_title(), //Post Title
                        1 => get_the_content(), //Post Content
                        2 => $image[0], //Post Featured Image
                        3 => get_the_date(), //Post Date
                        4 => get_the_author(), //Post Author
                        5 => $post_categories, //Post Category
                        6 => $post_tag, //Post Tags
                        7 => get_post_status(), //Post Status
                    );
          $data_rows[] = $row;

现在这个数组以...... ......的格式获取三列。

Title1 - Content1 - Image1 - Date1 - Author Name1 - Category1 - Tag1 - Status1

现在,我想使用Title1删除单行数据项“Title2”,“Title3”,“key[0]”,该怎么做?

我也使用了“unset()”,但它没有帮助。

2 个答案:

答案 0 :(得分:0)

您是否尝试过使用array_splice()

语法:array_splice(array,start, (optional) length)

编辑:一种简单的脏方法是迭代$data_rows数组并检查密钥是否与标题匹配。它可能不是最有效的方式。

for($i=count($data_rows) - 1; i >= 0; i--){
  if(strpos(key[0], $data_rows[i][0]) !== false){
    array_splice($data_rows[i], 0, 1);
  }
}

向后迭代的原因是当你拼接某个东西,然后向前移动一个元素时,你会跳过下一个元素。

答案 1 :(得分:0)

要删除第一个元素,请尝试使用

array_shift($array);

 $array = array_slice($array, 1);

array_splice()参考Jason Swan's post

如果你想删除多个第一个元素,请使用array_map()和上面的mothods。

$result = array_map(function($v){return array_slice($v, 1);}, $multidimensionarray);