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

时间:2017-12-19 08:24:56

标签: php

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

<?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; ?>

3 个答案:

答案 0 :(得分: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

答案 1 :(得分: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>

答案 2 :(得分: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];