2016-06-24 4 views
-2

Ich habe ein Array, das ich (json) veröffentlichen muss. Aber der Wert accountNr sollte entweder $val_nc_iban sein oder sollte NULL sein, abhängig von einem bestimmten Wert außerhalb dieses Arrays. Also, wie kann ich entweder $val_nc_iban (ist eine Zeichenkette) oder NULL (keine Zeichenkette) innerhalb eines Feldes abhängig vom äußeren Wert widerhallen?if-Anweisung in einem Array

$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

... Was haben Sie versucht? – Pogrindis

+0

Was meinen Sie mit "außerhalb" Wert. Der einzige Weg, das zu wissen, ist, den tatsächlichen Wert zu sehen und zu sehen, ob es "NULL" ist oder nicht. –

+0

Ich habe versucht, eine If-Anweisung außerhalb des Arrays und und echo den richtigen Wert, aber die Anführungszeichen sind das Problem. Wenn ich den richtigen Wert mit Anführungszeichen (Append) stimme, funktioniert es nicht. – Gerard

Antwort

0

Warum setzen Sie die Variablen in Anführungszeichen? Sie können ihren tatsächlichen Wert im Array verwenden!

Beispiel:

$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" 
      ) 
),