我有一个包含以下内容的XML文件:
<property fmtid="{D5CDD505-2E9C-101B-9397-08002B2CF9AE}" pid="2" name="ALALALAL"><vt:lpwstr>asdasda</vt:lpwstr></property><property fmtid="{D5CDD505-2E9C-101B-9397-08002B2CF9AE}" pid="3" name="MACABSZ"><vt:lpwstr>ooooo</vt:lpwstr></property><property fmtid="{D5CDD505-2E9C-101B-9397-08002B2CF9AE}" pid="4" name="3"><vt:lpwstr>c</vt:lpwstr></property><property fmtid="{D5CDD505-2E9C-101B-9397-08002B2CF9AE}" pid="5" name="4"><vt:lpwstr>d</vt:lpwstr></property>
我有以下php。 (我能够精确到xml的所需部分):
if (preg_match_all ('_name="(.*?)"_', $ekker, $tomb2));
if (preg_match_all ('_<vt:lpwstr>(.*?)</vt:lpwstr>_', $ekker, $tomb));
在html文件中我想回显结果,所以我用它:
<form>
<?php
foreach ($tomb2[1] as $metaname);
foreach ($tomb[1] as $talalat){
echo '<p>' . "$metaname\n" . '</p>' . '<br>' . '<input type="text" name="firstname" value="' . "$talalat\n" . '">' . '<br>';}?>
</form>
结果我得到了这个:
然而,这并不是我想要的。而不是前三个&#34; 4&#34;我需要:ALALALAL,MACABSZ,3。为什么它只回显&#39; name =&#34;(。*?)&#34; &#39;的最后结果。搜索?
感谢您的回答!
答案 0 :(得分:1)
从我得到的,你想要的是在一个循环中访问具有相同索引的两个数组项。也许这样做:
<form>
<?php
foreach ($tomb2[1] as $key => $metaname){
$talalat = $tomb[1][$key];
echo '<p>' . "$metaname\n" . '</p>' . '<br>' . '<input type="text" name="firstname" value="' . "$talalat\n" . '">' . '<br>';
}
?>
</form>