-1
$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);

?>
4

2 に答える 2

1

rsortを見てください:

$meats = $foods['meat'];
rsort($meats);
if ($key = array_search('liver', $meats)) 
     unset($meats[$key]);
于 2013-08-12T11:29:07.403 に答える
0

まず、配列を並べ替えます。

sort($input)

これはそれを行う必要があります:

$reversed = array_reverse($input);

そしていくつかを削除します:

for($i=0;$i<count($reversed);$i++) {
    if($reversed[$i] == "liver")
       unset($reversed[$i]);        
}
于 2013-08-12T11:31:47.827 に答える