【问题标题】:Passing parameters conditionally to function有条件地传递参数以实现功能
【发布时间】:2013-01-24 05:44:43
【问题描述】:

我有一个数组:

    <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 和 address 有值,那么邮件将是

 First name = asdff
    Last Name= adsf
Address=sdfaf

【问题讨论】:

    标签: php logic


    【解决方案1】:
    $array = array(); // your array that you posted...
    $new_array = array();
    
    foreach ($array as $key => $val) {
        if ( ! empty($val) ) $new_array[$key] = $val;
    }
    

    【讨论】:

      【解决方案2】:
      $mail = '';
      foreach ($array as $name => $value) {
         if ($value) {
            $mail .= "$name = $value \n";
         }
      }
      

      【讨论】:

        【解决方案3】:

        我认为使用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
        )
        

        希望对您有所帮助。

        【讨论】:

          猜你喜欢
          • 2011-09-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-12-06
          • 1970-01-01
          • 1970-01-01
          • 2020-03-02
          相关资源
          最近更新 更多