我有这样的代码:
<ul>
<?php foreach($persons as $key) : ?>
<?php if($this->session->userdata('id_user') == $key['id_person'] ) : ?>
<li><em><?php echo $key['name'] . " " . $key['surname'] ?></em></li>
<?php else : ?>
<li><?php echo $key['name'] . " " . $key['surname'] ?></li>
<?php endif; ?>
<?php endforeach; ?>
</ul>
如何将if条件的结果放在第一位?我可以在这里做吗?或者我需要写SQL查询?
编辑:
这是输出:
<ul>
<li>Marko Džunić</li>
<li><em>Saša Miljković</em></li>
<li>mirko mirkovic</li>
</ul>
我想得到这个:
<ul>
<li><em>Saša Miljković</em></li>
<li>Marko Džunić</li>
<li>mirko mirkovic</li>
</ul>
<ul>
<?php
$first = '';
$content = '';
$id_user = $this->session->userdata('id_user');
?>
<?php foreach($persons as $key) : ?>
<?php
$id_person = $key['id_person'];
$name = $key['name'];
$surname = $key['surname'];
if ($id_user == $id_person)
{
$first = '<li><em>' . $name . ' ' . $surname . '</em></li>';
}
else
{
$content .= '<li>' . $name . ' ' . $surname . '</li>';
}
?>
<?php endforeach; ?>
<?php echo $first, $content; ?>
</ul>
遍历您的数组两次。
-
第一次只在人员为选定人员时进行回显,然后使用unset()从数组中删除该人员。
-
像以前一样第二次遍历你的数组。
所选项目现在是列表中的第一个项目。
最好的方法是从Mysql本身获得排序结果。在MySQL中,您可以将特定的行放在顶部。