PHP如果不进行排序而不重复HTML

问题描述 投票:0回答:3

我正在搜索并查看是否可以最小化此代码。我想排序顺序,如果条件为真,内容先到,然后是图像,如果是假,则图像先到。

<?php if(true): ?>
 <div class="col-md-6">Text Content</div>
 <div class="col-md-6">Image</div>
<?php else: ?>
 <div class="col-md-6">Image</div>
 <div class="col-md-6">Text Content</div>
<?php endif; ?>
php
3个回答
2
投票

你可以使用ternary operator

解:

<?php
$flip   = true;
$text   = 'Text Content';
$image  = 'Image';
?>
<div class="col-md-6"><?php echo $flip ? $text: $image; ?></div>
<div class="col-md-6"><?php echo $flip ? $image: $text; ?></div>

结果与真实情况

Text Content 
Image

0
投票

如果你正在使用Bootstrap(我猜你的col-md-课程)你可以使用reordering课程。

<div class="row">
    <div class="<?= $condition ? 'order-2 ' : '' ?>col-md-6">Text Content</div>
    <div class="col-md-6">Image</div>
</div>

0
投票
<?php
$items = [
    '<div class="col-md-6">Text Content</div>',
    '<div class="col-md-6">Image</div>',
];

$reverse = true;
array_map('printf', $reverse ? array_reverse($items) : $items);

要么:

print $reverse
    ? $items[1] . $items[0]
    : $items[0] . $items[1];
© www.soinside.com 2019 - 2024. All rights reserved.