Php 如何根据对象值对数组列表进行排序
我们需要列出一个按对象值排序的数组 我们有一个电影列表,按字母顺序排序,但我们想按类型排序 下面是按字母顺序排列的代码列表Php 如何根据对象值对数组列表进行排序,php,arrays,sorting,Php,Arrays,Sorting,我们需要列出一个按对象值排序的数组 我们有一个电影列表,按字母顺序排序,但我们想按类型排序 下面是按字母顺序排列的代码列表 <?php foreach ($films as $film_id => $film) { echo "<ul>"; echo '<li id="film_thumb">'; echo '<a href="watch.php?id=' . $film_id . '" alt="ID">';
<?php
foreach ($films as $film_id => $film) {
echo "<ul>";
echo '<li id="film_thumb">';
echo '<a href="watch.php?id=' . $film_id . '" alt="ID">';
echo '<img class="thumb_res" src=" ' . $film["thumb"] . '" alt="' . $film["name"] . '">' ;
echo '</a>';
echo '</li>';
echo "</ul>";
} ?>
这是数组
$films = array ();
$films[1] = array(
"name" => "21 Jump Street",
"year" => "2012",
"genre" => "Commedia",
"path" => "media/01.mp4",
"thumb"=> "media/thumb/01.png",
);
现在,我们需要创建一个页面,在类别中列出这些项目(电影拇指),因此,如果我单击类型“动作”,页面必须只显示选定的电影类型,而不是其他类型
非常感谢,Andrea您可以使用
usort()
按流派对数组进行排序:
如果要从所选类型获取电影,可以使用array\u filter()
:
使用
array\u filter()!效果很好!
$films = array ();
$films[1] = array(
"name" => "21 Jump Street",
"year" => "2012",
"genre" => "Commedia",
"path" => "media/01.mp4",
"thumb"=> "media/thumb/01.png",
);
usort($films, function($a, $b){
return strcasecmp($a['genre'], $b['genre']);
});
$films = array_filter($films, function($film){
return $film['genre'] == 'Commedia';
});