0

私は何かをコーディングしているだけで、構造に関数を含める方法を知りたいと思っていました。

if (!formatPhone($phone) && !empty($phone)) {
    $e = 1;
    $e_message .= '<li>The phone number is invalid, please use the format (000) 000-0000.</li>';
} else {
    $phone = formatPhone($phone);
}

formatePhone()コントラクト ステートメントで$phone を出力に直接割り当てることはできますreturn false;か?

4

2 に答える 2

1
$phone = formatPhone($phone) or $phone = $default_value;

これは、の戻り値formatPhone()がfalseの場合、falseではなく$phoneが割り当てられることを意味し$default_valueます。それ以外の場合、の戻り値がformatPhone()falseでない場合は、$phoneその戻り値が割り当てられます。

于 2011-04-18T01:14:18.617 に答える
1

割り当てを式として含めることができます。しかし、あなたの場合、値が再割り当てされる前に最初に空であることを確認するために、テストの順序を変更する必要があります。

if ( !empty($phone) and !($phone = formatPhone($phone)) ) {
    $e = 1;
    $e_message .= '<li>The phone number is invalid, please use the format (000) 000-0000.</li>';
}

これにより、else ツリーが節約されます。しかし、より読みやすく、これはそうではありません。:|

于 2011-04-18T01:31:26.257 に答える