SimpleXMLで親要素を取得する
$node->parent();
とかで取れると思ったら無理だった。
$parents = $node->xpath('parent::node()');
$parent = $parents[0];
みたいにxpathで取るのが妥当なやり方?
こういう、配列を返す関数・メソッドのn番目の要素を直接取るのってPHPでは書けないんですかね。
$parent = ($node->xpath('parent::node()')[0];
なんて書き方だとパースエラーになる。
$parent = array_shift($node->xpath('parent::node()');
して無駄にshiftするのも嬉しくない。MacBookで100万回回して2秒の差だったし、この場合は配列も1つしか要素入ってこないから気にするほどではないけど、そこまでして一行で書きたいかというと微妙なところ。おとなしく二行で書くのがいいのかな。