有条件地将参数传递给函数


Passing parameters conditionally to function

我有一个数组:

    <pre>Array
(
    [fname] => adsff
    [lname] => adsf
    [address] => sdfaf
    [city] => sdaf
    [state] => dsfaf
    [zip] => adf
    [phone] => asdf
    [fax] => adsf
    [email] => asdff
    [salary] => asdaf
    [pemp] => asdfaf
    [noofyears] => asdfaf
    [married] => asdfaf
    [children] => asdfaf
    [refname1] => asdfaf
    [refphone1] => adsfaf
    [refname2] => asdfaf
    [refphone2] => sdfaf
    [refname3] => dfsg
    [refphone3] => sdf
    [bank] => sdf
)

我想将此数组传递到邮件中,这样如果任何字段为空,则不会在邮件中使用例如:如果只有 fname 和 lname 在其中具有值,那么邮件将是

First name = asdff
Last Name= adsf

示例 2:如果只有fname,lname和地址在其中有值,那么邮件将是

 First name = asdff
    Last Name= adsf
Address=sdfaf
$array = array(); // your array that you posted...
$new_array = array();
foreach ($array as $key => $val) {
    if ( ! empty($val) ) $new_array[$key] = $val;
}
$mail = '';
foreach ($array as $name => $value) {
   if ($value) {
      $mail .= "$name = $value 'n";
   }
}
我认为

使用array_filter

示例

<?php
$entry = array(
             0 => 'foo',
             1 => false,
             2 => -1,
             3 => null,
             4 => ''
          );
print_r(array_filter($entry));
?>
The above example will output:
Array
(
    [0] => foo
    [2] => -1
)

愿这对你有所帮助。