質問編集履歴

1

コードを記載いたしました。

2017/08/22 09:29

投稿

SugiuraY
SugiuraY

スコア317

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
+ ```