2012-06-17 21 views
13

मेरे पास मल्टी-लाइन टेक्स्ट का एक बड़ा टुकड़ा है जिसे मुझे यहां एक दस्तावेज़ के माध्यम से एक PHP सहयोगी सरणी में रखना होगा। यह इस तरह दिखता है:किसी एसोसिएटिव सरणी में PHP-doc का उपयोग कैसे करें?

$data = [ 
     "x" => "y", 
     "foo" => "bar", 
     /* ... other values ... */ 
     "idx" = <<< EOC 
data data data data 
data data data data 
data data data data 
EOC; 
     "z" => 9, 
     /* ... more values ... */ 
    ]; 

मैं समझ नहीं कैसे एक यहाँ-डॉक के माध्यम से $ डेटा सरणी में बहु लाइन पाठ के साथ उस तत्व "IDX" डाल करने के लिए।

उत्तर

18

कई समस्याएं हैं, यह इस तरह देखने के लिए है:

$data = [ 
    "x" => "y", 
    "foo" => "bar", 
    /* ... other values ... */ 
    // you need to use '=>' 
    "idx" => <<<EOC 
data data data data 
data data data data 
data data data data 
EOC 
,"z" => 9, // you can't end it with a semicolon, WHY EVER! and the comma needs to be on a new line 
/* ... more values ... */ 
]; 

कुछ hacky और भद्दा PHP कोड है यही कारण है कि। मैं इसका उपयोग करने की अनुशंसा नहीं करता, यह समस्या से भरा है (शायद लेक्सर के कारण)। अच्छे पुराने तारों के लिए बेहतर छड़ी।

3

मैं एक ही समस्या थी और मैं यह कर समाप्त हो गया:

$data = [ 
    "x" => "y", 
    "foo" => "bar", 
    /* ... other values ... */ 
    "z" => 9, 
    /* ... more values ... */ 
]; 

$data["idx"] = <<< EOC 
data data data data 
data data data data 
data data data data 
EOC; 

विचार है कि मैं बहुत बदसूरत सरणी प्रारूपण के बिना हियरडॉक का उपयोग कर सकते है।