$foods = array(
'meat' => array('burgers', 'steak', 'sausages', 'liver'),
'cake' => array('victorian', 'chocolate', 'fruit', 'fudge')
);
我只想按反向字母顺序排列肉类值,函数应该返回一个数组。
我不希望肝脏被包括在阵列中。
我该怎么做?
我已经这样做了但由于某些原因我不喜欢它。对我来说看起来很简单。任何人都可以建议我这样做的更好方法。 这就是我做到的。
function items($arr){
$x = $arr['meat'];
sort($x);
$z = array_reverse($x);
foreach ($z as $v){
if($v == 'liver')continue;
$r[] = $v ;
}
return $r;
}
$foods = array(
'meat' => array('burgers', 'steak', 'sausages', 'liver'),
'cake' => array('viian', 'chocolate', 'fruit', 'fudge')
);
$x = items($foods);
var_dump($x);
?>
答案 0 :(得分:1)
看看rsort:
$meats = $foods['meat'];
rsort($meats);
if ($key = array_search('liver', $meats))
unset($meats[$key]);
答案 1 :(得分:0)
首先,排序数组:
sort($input)
这应该这样做:
$reversed = array_reverse($input);
删除一些:
for($i=0;$i<count($reversed);$i++) {
if($reversed[$i] == "liver")
unset($reversed[$i]);
}