Вот почему:
Они оба делают это $this->rdf = join('', $this->rdf);
, и оба они зависят от этого:
if (is_array($this->rdf))
Итак, первое вызывает массивбольше не быть массивом.Таким образом, условное выражение второго метода завершится неудачей.
Попробуйте что-то вроде этого:
public function getL1Comment($type){
/*
this function gets the comments that are to do with the main type of crime i.e. Sexual Offences
*/
if (is_array($data = $this->p->string2triples(join('', $this->rdf), $this->uri))) {
$val = $data["http://localhost/".$type][2][1][0];
return $val;
}
}
таким образом, вы не переопределяете $ this-> rdf в методах, поскольку, как я вижу этонет причин делать это.