目前我的代码看起来像这样:
# Assign values for saving to the db $data = array( 'table_of_contents' => $_POST['table_of_contents'], 'length' => $_POST['length'] ); # Check for fields that may not be set if ( isset($_POST['lossless_copy']) ) { $data = array( 'lossless_copy' => $_POST['lossless_copy'] ); } // etc.
这会导致无穷无尽的if语句......即使使用三元语法,它仍然是凌乱的.有没有更好的办法?
这个怎么样:
// this is an array of default values for the fields that could be in the POST $defaultValues = array( 'table_of_contents' => '', 'length' => 25, 'lossless_copy' => false, ); $data = array_merge($defaultValues, $_POST); // $data is now the post with all the keys set
array_merge()
将合并值,使后面的值覆盖以前的值.
如果您不想信任,array_merge()
那么您可以进行foreach()
循环.