我在php中的循环中遇到了一些问题。它与foreach循环有关。我有这个代码:
<?php foreach($obras as $obra): ?>
<li>
<a class="thumb" href="<?php echo $base_url . 'assets/uploads/files/' . $obra["imagen"] ?>" title="<?php echo $obra['titulo'] ?>">
<img src="<?php echo $base_url . 'assets/uploads/files/' . $obra["imagen"] ?>" alt="<?php echo $obra['titulo'] ?>" />
</a>
<div class="caption">
<div class="image-desc">
<p><?= t('global_pieces_artist')?>: <?php echo $obra['nombre_artista'] . ' ' . $obra['apellidos_artista'] ?></p>
<p><?= t('global_pieces_title')?>: <?php echo $obra['titulo'] ?></p>
<p><?= t('global_pieces_year')?>: <?php echo $obra['ano'] ?></p>
<p><?= t('global_pieces_size')?> (cm.): <?php echo $obra['tamano_alto'] ?> x <?php echo $obra['tamano_ancho'] ?><? if ($obra['tamano_largo'] != null): ?> x <?php echo $obra['tamano_largo'] ?><? endif; ?></p>
<p><?= t('global_pieces_technique')?>: <?php echo $obra['tecnica'] ?> </p>
<? if (isset($obra['username'])): ?>
<p><?= t('global_company') ?>: <?php= echo $obra['username'] ?></p>
<? endif; ?>
<p><?= t('global_pieces_price')?>: <?php echo ($obra['precio'] . ' ' . $obra['divisa']) ?> (<?= t('global_pieces_price_vat')?>)</p>
<? if ($obra['observaciones'] != null): ?>
<p><?= t('global_pieces_observations')?>: <?php echo $obra['observaciones'] ?></p>
<? endif; ?>
<p id="links_last">
<a href="<?php echo $base_url . 'assets/uploads/files/' . $obra['imagen']?>"><?= t('global_download')?></a> |
<a href="javascript:window.print();"><?= t('global_print')?></a>
</p>
</div>
</div>
</li>
<?php endforeach; ?>
好吧,我想打印的所有内容都可以,但是当我到达代码的这一部分时:
<? if (isset($obra['username'])): ?>
<p><?= t('global_company') ?>: <?php= echo $obra['username'] ?></p>
<? endif; ?>
当我遇到问题时,因为我可以看到我想看的内容的左侧,这是<?= t('global_company') ?>
的内容,而右侧的内容我看不到它。如果我删除=
那么我就会出错,所以我做得不好。
提前谢谢。
引用
你的代码...
<p><?= t('global_company') ?>: <?php= echo $obra['username'] ?></p>
第二个回显无效。您可以使用<?=
或<?php echo
,但不能使用<?php= echo
将我上面引用的行更改为
<p><?= t('global_company') ?>: <?= $obra['username'] ?></p>
你应该得到你所追求的
没有分隔符<?php=
。
<?php ... ?>
:在这些标签中,您有可执行的php代码。如果你想输出一些东西,你必须通过使用例如 echo
.
示例:<?php echo "Hello"; ?>
打印出Hello
<?= ... ?>
在这些标签中,您有一个 php 变量或语句。函数的返回值或变量的值会自动打印出来。
示例:<?= time(); ?>
打印出time()
函数的返回值,该值是 unix 时间戳格式的当前时间。
在您的代码中,您可以使用<?= $obra['username'] ?>
或<?php echo $obra['username'] ?>
但不能使用<?= $obra['username'] ?>
因为这不是有效的 php。