PHP按过滤查询的参数组数组

时间:2018-04-04 11:00:13

标签: php xml wordpress grouping getter-setter

我有三节课:

    class libro {

       var $id; 
       var $name;
       var $editorial;
       var $materia = array();

       [... getters and setters ]

    class editorial {

       var $name; 
       var $id;
       [...]

    class materia {

       var $name; 
       var $id;
       [...]

这是在网站目录上工作,我从xml文件中获得了大量的书籍。这很好用,我查了一下;我收到的xml值很好。

在我的网站目录中,我有一个旁边的栏。默认情况下,会显示所有社论 materias (类别)以及所有图书。

因此,当我点击一个编辑/材料的复选框时,页面将重新加载来自xml的新查询,其中一个被过滤。显示目录中的书籍,但是除此之外,我只需要显示我签入的元素,另一个则分组研究新的xml查询数据。

  

例如,如果我选择编辑 Great Books ,页面将重新加载,仅显示复选框上的一个社论,而在旁边的关于Materias的部分中,我将看到包含在内的所有内容。每本书中的数组(materia),按不显示重复的类别进行分组。

示例的另一种方式:

  

如果我先搜索Materia,那么新查询的社论也会被分组。如果我选择了编辑并点击某个类别,则只会显示所选的类别和编辑,并且会颠倒如果我首先选择了该类别。

我正在使用$ _GET ['编辑']和$ _GET [' materia']来处理新的查询数据。

这是关于分组的代码......

$bookList = array();

// Here are methods where I set xml data to classes, and I get an array (link below)

$groupedBookList = array();

foreach ($bookList as $book){

    // ERROR IN LINE BELOW (Undefined offset: 0 in ...)
    $groupBL_Element = &$groupedBookList[$book->get_editorial()->get_id() . "_" .$libro->get_materia(0)->get_id() ]; 
    $groupBL_Element['editorial'] = $book->get_editorial()->get_id();
    $groupBL_Element['materia'] = $book->get_materia(0)->get_id();

}

return array_values($groupedBookList);

goo.gl/ 397Wuz

有人知道某种方法来分组吗?感谢

我得到的错误是:

未定义的偏移量:中的0(由我选择的行)

1 个答案:

答案 0 :(得分:0)

我不确定这是否是您要找的,但是如果您添加到您的foreach:

foreach ($bookList as $book){

$groupBL_Element = &$groupedBookList[$book->get_editorial()->get_id() . "_" .$libro->get_materia(0)->get_id() ];
$groupBL_Element['editorial'] = $book->get_editorial()->get_id();
$groupBL_Element['materia'] = $book->get_materia(0)->get_id();

$groupedBookList[] = $groupBL_Element;

}

然后你可以返回$ groupedBookList,并将你的元素分组。