2016-06-24 9 views
-2

私は配列を持っていますが、投稿する必要があります(json)。値accountNr$val_nc_ibanのいずれかである必要があります。または、この配列外の特定の値によってはNULLにする必要があります。だから、どうすれば$val_nc_iban(文字列)かNULL(文字列ではない)を外側の値に応じて配列内にエコーすることができますか?配列内のif文

$curl_post_data_nc = array(
    "person" => array(
     "title" => "$val_nc_persontitle", 
     "nationalNr" => NULL, 
     "firstName" => "$val_nc_personfirstname", 
     "lastName" => "$val_nc_personsurname", 
     "birthDate" => "$new_val_nc_persondob" 
    ), 

    "company" => array(
     "type" => "$val_nc_companytype", 
     "name" => "$val_nc_companyname", 
     "vat" => "$val_nc_companyvat", 
     "nace" => "$val_nc_companynace", 
     "website" => NULL 
    ), 

    "contact" => array(
      "email" => "$val_nc_personemail", 
      "mobile" => "$val_nc_personphone", 
      "telephone" => NULL 
    ), 

    "contract" => array(
     "referenceDate" => "$val_nc_refdate", 
     "startDate" => "$val_nc_startdate" 
    ), 

    "payment" => array(
     "paymentMethodEmail" => false, 
     "paymentMethodMail" => true, 
     "paymentInterval" => "$val_nc_paymentbilling", 
     "method" => "$val_nc_paymentmethod", 
     "accountNr" => $val_nc_result = ($val_nc_paymentmethod == 'TRANSFER') ? NULL : "$val_nc_iban" 
    ), 

    "deliveryAddress" => array(
     "building" => "HOUSE", 
     "street" => "$val_nc_personstreet", 
     "streetNr" => "$val_nc_personstreetnr", 
     "floor" => NULL, 
     "boxNr" => NULL, 
     "localityCode" => "$val_nc_personpostcode", 
     "localityName" => "$val_nc_personlocality" 
    ), 

    "invoiceAddress" => array(
     "sameAsDelivery" => false, 
     "building" => "HOUSE", 
     "street" => "$val_nc_billstreet", 
     "streetNr" => "$val_nc_billstreetnr", 
     "floor" => NULL, 
     "boxNr" => NULL, 
     "localityCode" => "$val_nc_billpostcode", 
     "localityName" => "$val_nc_billlocality" 
    ), 

    "gasMeter" => array(
     "ean" => "$val_nc_ean", 
     "nr" => NULL, 
     "type" => "gas", 
     "electric" => NULL, 
     "gas" => array(
        "usage" => $val_nc_gasusage, 
        "formula" => "TTF103532" 
       ) 
    ), 
+1

...あなたは何を試してみましたか? – Pogrindis

+0

"外側"の値はどういう意味ですか?知る唯一の方法は、実際の値を見て、それが 'NULL'かどうかを調べることです。 –

+0

私は配列の外側でif文を実行しようとしましたが、正しい値をエコーし​​ますが、引用符が問題になります。正しい値を引用符で囲んで(追加)、それは機能しません。 – Gerard

答えて

0

なぜ変数を引用符で囲みますか?配列内の実際の値を使用することができます!

例:

$curl_post_data_nc = array(
"person" => array(
    "title" => $val_nc_persontitle, 
    "nationalNr" => NULL, 
    "firstName" => $val_nc_personfirstname, 
    "lastName" => $val_nc_personsurname, 
    "birthDate" => $new_val_nc_persondob 
), 

"company" => array(
    "type" => $val_nc_companytype, 
    "name" => $val_nc_companyname, 
    "vat" => $val_nc_companyvat, 
    "nace" => $val_nc_companynace, 
    "website" => NULL 
), 

"contact" => array(
     "email" => $val_nc_personemail, 
     "mobile" => $val_nc_personphone, 
     "telephone" => NULL 
), 

"contract" => array(
    "referenceDate" => $val_nc_refdate, 
    "startDate" => $val_nc_startdate 
), 

"payment" => array(
    "paymentMethodEmail" => false, 
    "paymentMethodMail" => true, 
    "paymentInterval" => $val_nc_paymentbilling, 
    "method" => $val_nc_paymentmethod, 
    "accountNr" => $val_nc_result = ($val_nc_paymentmethod == 'TRANSFER') ? NULL : $val_nc_iban 
), 

"deliveryAddress" => array(
    "building" => "HOUSE", 
    "street" => $val_nc_personstreet, 
    "streetNr" => $val_nc_personstreetnr, 
    "floor" => NULL, 
    "boxNr" => NULL, 
    "localityCode" => $val_nc_personpostcode, 
    "localityName" => $val_nc_personlocality 
), 

"invoiceAddress" => array(
    "sameAsDelivery" => false, 
    "building" => "HOUSE", 
    "street" => $val_nc_billstreet, 
    "streetNr" => $val_nc_billstreetnr, 
    "floor" => NULL, 
    "boxNr" => NULL, 
    "localityCode" => $val_nc_billpostcode, 
    "localityName" => $val_nc_billlocality 
), 

"gasMeter" => array(
    "ean" => $val_nc_ean, 
    "nr" => NULL, 
    "type" => "gas", 
    "electric" => NULL, 
    "gas" => array(
       "usage" => $val_nc_gasusage, 
       "formula" => "TTF103532" 
      ) 
),