在PHP中缩短此IF语句

时间:2013-05-24 09:50:08

标签: php

我想削减if语句并使其成为最佳方式

if ($box === 1) {
    $message['sender'] = $data['user_profile_id'];
    $message['receiver'] = $data['to_user_profile_id'];
} else {
    $message['sender'] = $data['to_user_profile_id'];
    $message['receiver'] = $data['user_profile_id'];
}

1次尝试:

$message['sender'] = $box === 1 ? $data['user_profile_id'] : $data['to_user_profile_id'];
$message['receiver'] = $box === 1 ? $data['to_user_profile_id'] : $data['user_profile_id'];

有更好的方法来切换发送方/接收方变量吗?

1 个答案:

答案 0 :(得分:0)

我认为你的第一个陈述看起来不错,但你可以让你的第二个例子缩短一点,但在我看来这是不值得的:

$message['sender'] = $data[($box===1 ? 'to_' : '_') .'user_profile_id'];
$message['receiver'] = $data[($box===1 ? '_' : 'to_') .'user_profile_id'];
相关问题