我正在尝试使用变量的键来填充数组的特定值。 该值包含语法的形式,键是它的标识符。
我不确定这是否是正确的方法,但这是我遇到麻烦的地方:
function create_mess($data){
echo message_list($data);
}
function message_list($data){
$messages = array(
1000 => $data['user']." logged on!",
2000 => $data['user']." comment on ".$data['user_rep']."s comment about!".$data['title'],
2010 => "You just received a reply to".$data['title']."by ".$data['user'],
3000 => $data['user'].": ".$data['title']."!"
);
return $messages[$data['mess_id']];
}
这是我所拥有的精简版,以便更清楚。我知道create_mess
函数现在不是很有用。
目前它总是填写所有变量。我想知道的是:
答案 0 :(得分:1)
foreach($messages as $key => &$message)
if($key != $data['mess_id'])
unset($messages[$data['mess_id']];
这将在填写所有值(低效)后删除数组。如果要有条件地填充数组,则必须根据消息ID在创建要返回的数组时构建一些逻辑。例如:将当前消息数组视为“模板”,以构建将返回的辅助数组。
答案 1 :(得分:0)
如果我正确理解你,是的。您可以将参数声明为null: function create_mess($ key1 = null,$ key2 = null){etc ...}
您可以将其作为数组传递,然后使用list: function create_mess($ array){list($ key1,$ key2)= $ array; }
如果这不是您想要的,那么您必须更具体一点。