なぜこれが起こっているのか分かりません。ここに私のXMLです:今3つのアレイのうち2つしか表示されないのはなぜですか?
<ResultSet>
<chats>
<chat>
<messages>
<sms>
<from>Bisma Iqbal</from>
<msg>Hi</msg>
<sent>1311612055</sent>
</sms>
<sms>
<from>Bisma Iqbal</from>
<msg>Hi</msg>
<sent>1311612068</sent>
</sms>
<sms>
<from>Bisma Iqbal</from>
<msg>Hi</msg>
<sent>1311612074</sent>
</sms>
<sms>
<from>Bisma Iqbal</from>
<msg>Hi</msg>
<sent>1311612186</sent>
</sms>
</messages>
<contact>Bisma Iqbal</contact>
</chat>
<chat>
<messages>
<sms>
<from>Javaid Iqbal</from>
<msg>this is the first message</msg>
<sent>1311612055</sent>
</sms>
<sms>
<from>Javaid Iqbal</from>
<msg>this is the second message</msg>
<sent>1311612055</sent>
</sms>
</messages>
<contact>Javaid Iqbal</contact>
</chat>
<chat>
<messages>
<sms>
<from>Ankur Shahi</from>
<msg>Wanna play dawg at 7:15</msg>
<sent>1311632708</sent>
</sms>
<sms>
<from>Ankur Shahi</from>
<msg>Wanna play dawg at 7:15</msg>
<sent>1311632708</sent>
</sms>
<sms>
<from>Ankur Shahi</from>
<msg>Wanna play dawg at 7:15</msg>
<sent>1311632708</sent>
</sms>
</messages>
<contact>Ankur Shahi</contact>
</chat>
</chats>
</ResultSet>
、ここに私のコードです:あなたが見ることができるように
require_once('global.php');
$statement = $db->prepare("SELECT * FROM user WHERE id=1");
$statement->execute();
$result = $statement->fetchObject();
$string = $result->chats;
$chats = GBA($string, "<chat>", "</chat>"); //the XML I showed you
for($i = 0, $size = count($chats); $i < $size; ++$i) {
//for every chat:
$all_sms = GBA($chats[$i], "<sms>", "</sms>");
$name = GB($chats[$i], "<contact>", "</contact>");
echo "<center><table border='1' cellpadding='5'><tr><td colspan='3' align='center'>SMS Chat with <i>{$name}</i></td></tr><tr><th>From</th><th>Message</th><th>Sent</th></tr>";
for($j = 0, $size = count($all_sms); $j < $size; ++$j) {
//for every sms in each chat
$from = GB($all_sms[$j], "<from>", "</from>");
$msg = GB($all_sms[$j], "<msg>", "</msg>");
$sent = time_since(GB($all_sms[$j], "<sent>", "</sent>"));
echo "<tr><td>{$from}</td><td>{$msg}</td><td>Sent: {$sent} </td></tr>";
}
echo "</table><br /><br /></center>";
}
、すべてが正常に見えるが、それは最初の2つのテーブルを示し、第三ではありません!私は結論に多くのデバッグを持っています。
を示唆? – hakre
GBは、2つの他の文字列の間の文字列を取得する関数です。 GBAは他の2つの文字列の間の文字列を取得するファンクションですが、文字列全体を検索して配列を返します。 GetbetweenAll – Qasim