PHP foreach xml列出所有事件
对PHP和编码不熟悉,所以请对我放松:) 我有以下XML数组PHP foreach xml列出所有事件,php,xml,foreach,Php,Xml,Foreach,对PHP和编码不熟悉,所以请对我放松:) 我有以下XML数组 SimpleXMLElement Object ( [Envelope] => Array ( [0] => SimpleXMLElement Object ( [ID] => 387e1295-5b5d-4943-8236-ddb62bfefc54 [Re
SimpleXMLElement Object
(
[Envelope] => Array
(
[0] => SimpleXMLElement Object
(
[ID] => 387e1295-5b5d-4943-8236-ddb62bfefc54
[Receiver] => 447777777777
[Message] => Coltest out going 1
[SentTime] => 2020-02-05 12:57:06
)
[1] => SimpleXMLElement Object
(
[ID] => 0dab3015-5e30-477e-ba22-6660fd580010
[Receiver] => 447777777777
[Message] => coltest outgoing 2
[SentTime] => 2020-02-05 12:57:20
)
[2] => SimpleXMLElement Object
(
[ID] => ac7e6ce9-c629-4ce3-b3e2-fb00695747b0
[Receiver] => 447766666666
[Message] => just a test please ignore
[SentTime] => 2020-02-05 13:17:25
)
)
)
我想将Receiver=447777的每个信封分配给它自己的变量
我有以下内容将拉第一个信封,但我希望所有信封匹配接收器=447777
foreach($xml->Envelope as $item) {
if(trim($item->Receiver) == $sender) {
$msg = array(
'ID' => trim($item->ID),
'Receiver' => trim($item->Receiver),
'Message' => trim($item->Message),
'SentTime' => trim($item->SentTime),
);
}
}
$msg应该是一个数组,这样您就可以存储所有匹配的条件。将
$msg
更改为$msg[]
应该就可以了。哇,太快了感谢Cadu De Castro AlvesOne的快速提问,我现在如何将$msg数组分配给它自己的变量这会是另一个foreach吗?不客气!好的,一旦你可能不知道需要多少变量,我想你可以使用$msg中存储的值。还是我遗漏了什么?$msg应该是一个数组,这样您就可以存储所有匹配的条件。将$msg
更改为$msg[]
应该就可以了。哇,太快了感谢Cadu De Castro AlvesOne的快速提问,我现在如何将$msg数组分配给它自己的变量这会是另一个foreach吗?不客气!好的,一旦你可能不知道需要多少变量,我想你可以使用$msg中存储的值。还是我错过了什么?
You can define an empty array and push all data to that array if matched.Here is
the code below.
`$arr = [];
foreach($xml->Envelope as $item) {
if(trim($item->Receiver) == $sender) {
$msg = array(
'ID' => trim($item->ID),
'Receiver' => trim($item->Receiver),
'Message' => trim($item->Message),
'SentTime' => trim($item->SentTime),
);
array_push($arr, $msg);
}
}`