ホームページ >バックエンド開発 >PHPチュートリアル >[100 点のヘルプ] PHP で 2 つの XML ノードが同じかどうかを判断する方法

[100 点のヘルプ] PHP で 2 つの XML ノードが同じかどうかを判断する方法

WBOY
WBOYオリジナル
2016-06-23 14:00:591541ブラウズ

専門家の皆様にお聞きしたいのですが、XML ノードの階層が不確かな場合、2 つの XML ノードが同じかどうかをどのように判断すればよいでしょうか?
ここで、ノードに子ノードがある場合、子ノードの順序は XML ノードの判断に影響を与えないことに同意します。

たとえば、次の 2 つの XML ノードがあります:
ノード 1:

<a>    <b><d>1</d></b>    <c>2</c></a>

ノード 2:
<a>    <c>2</c>    <b><d>1</d></b></a>

現在のロジックでは、ノード 1 とノード 2 は同じ 2 つのノードとみなされます。

PHP でこれら 2 つのノードが同じかどうかを判断する方法はありますか?

ありがとうございます!


ディスカッションへの返信 (解決策)

rrreebool(true)

T モデレーターありがとうございます!とても良いアイデアですね~

$s =<<< XML<a>    <b><d>1</d></b>    <c>2</c></a><a>    <c>2</c>    <b><d>1</d></b></a>XML;$xml = simplexml_load_string($s);$t = $xml->xpath('///a');$t = array_map('objectToarray', $t);//print_r($t);var_dump($t[0] == $t[1]);function objectToArray($d) {   if (is_object($d)) {     $d = get_object_vars($d);   }  if (is_array($d)) {     return array_map(__FUNCTION__, $d);   } else {     return $d;   } }
bool(true)
私も phpQuery を使って実装したいです 書いたら投稿しません

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。