質問編集履歴
1
コードを記載いたしました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -31,3 +31,53 @@
|
|
31
31
|
<B a="444" b="555" c="666"></A>
|
32
32
|
|
33
33
|
```
|
34
|
+
|
35
|
+
|
36
|
+
|
37
|
+
|
38
|
+
|
39
|
+
(加筆)
|
40
|
+
|
41
|
+
うまくご説明できるかわかりませんが、申し少し分かりやすい例でコードを記載させて頂きます。
|
42
|
+
|
43
|
+
|
44
|
+
|
45
|
+
```PHP
|
46
|
+
|
47
|
+
$cArray=array(111,222,333,444,555,666,777,888,999);
|
48
|
+
|
49
|
+
$xml='<A a="apple" b="banana" c="333"></A> <A a="orange" b="peach" c="666"></A> <A a="pinapple" b="mango" c="999"></A>';//失礼しました、分かりやすいように修正します
|
50
|
+
|
51
|
+
$num=($sampleNode->length);//A,B,Cで3つ
|
52
|
+
|
53
|
+
for ($i=0; $i < $num; $i++) {
|
54
|
+
|
55
|
+
$searchNode=$sampleNode->item($m)->getAttribute('c');
|
56
|
+
|
57
|
+
$resultArray[]=$searchNode;
|
58
|
+
|
59
|
+
}
|
60
|
+
|
61
|
+
$num2=count($cArray);//9つ
|
62
|
+
|
63
|
+
for ($i=0; $i <$num2 ; $i++) { //ループで111,222,333~999がc属性のものをすべて検索
|
64
|
+
|
65
|
+
if ($cArray[$i]==$resultArray[0]) {
|
66
|
+
|
67
|
+
$key=0;
|
68
|
+
|
69
|
+
} elseif($cArray[$i]==$resultArray[1]){
|
70
|
+
|
71
|
+
$key=1;
|
72
|
+
|
73
|
+
}elseif($cArray[$i]==$resultArray[2]){
|
74
|
+
|
75
|
+
$key=2;
|
76
|
+
|
77
|
+
}
|
78
|
+
|
79
|
+
$fruit[]=$sampleNode->item($key)->getAttribute('b');//111,222,444,555,,777,888はxmlに存在しないためNull 333=>banana 666=>peach 999=>mangoが取得できる
|
80
|
+
|
81
|
+
}
|
82
|
+
|
83
|
+
```
|